跨dll分配可以吗?

跨dll分配可以吗?,dll,allocation,Dll,Allocation,如果我有一个至少使用两个dll的应用程序,在一个dll中分配资源并在另一个dll中释放资源通常安全吗 我特别考虑在不同的DLL中调用fopen和fclose,但我也想知道它对其他资源(内存指针、句柄等)是安全的 我认为只要所有的东西都是用相同的开关编译的,它就会工作 谢谢, Cory只要您使用的是C运行时库的DLL版本(/MD或/MDd),那么是的,它是安全的 如果您将CRT静态链接到DLL(/MT或/MTd),则不安全。只要您使用的是C运行库的DLL版本(/MD或/MDd),则是安全的 如果您

如果我有一个至少使用两个dll的应用程序,在一个dll中分配资源并在另一个dll中释放资源通常安全吗

我特别考虑在不同的DLL中调用fopen和fclose,但我也想知道它对其他资源(内存指针、句柄等)是安全的

我认为只要所有的东西都是用相同的开关编译的,它就会工作

谢谢,
Cory

只要您使用的是C运行时库的DLL版本(/MD或/MDd),那么是的,它是安全的


如果您将CRT静态链接到DLL(/MT或/MTd),则不安全。

只要您使用的是C运行库的DLL版本(/MD或/MDd),则是安全的

如果您将CRT静态链接到DLL(/MT或/MTd)中,则不安全。

这是一件不好的事情(TM),但对于非平凡的项目除外。这在一组非常严格的条件下工作,如DLL版本、线程模型、每个DLL中使用的内存分配器以及其他许多DLL中使用的内存分配器。最后,bug将很难被追踪。

这对于除了非琐碎项目之外的所有项目来说都是一件坏事。这在一组非常严格的条件下工作,如DLL版本、线程模型、每个DLL中使用的内存分配器以及其他许多DLL中使用的内存分配器。最后,bug将很难追踪