交叉dll分配是否正常?

时间:2009-05-07 17:39:59

标签: dll allocation

如果我的应用程序至少使用了两个dll,那么在一个dll中分配资源并将它们释放到另一个dll中通常是否安全?

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

我认为只要所有内容都使用相同的开关进行编译,它就应该可以工作。

谢谢, 科里

2 个答案:

答案 0 :(得分:3)

这是一个 Bad Thing (TM),可用于所有非平凡的项目。这适用于一系列非常严格的条件,例如dll的版本,线程模型,每个中使用的内存分配器以及其他许多内存分配器。最后,错误将难以追逐。

答案 1 :(得分:0)

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

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