如果我的应用程序至少使用了两个dll,那么在一个dll中分配资源并将它们释放到另一个dll中通常是否安全?
我正在考虑在不同的dll中调用fopen和fclose,但我也想知道它对其他资源(内存指针,句柄等等)是安全的。
我认为只要所有内容都使用相同的开关进行编译,它就应该可以工作。
谢谢, 科里
答案 0 :(得分:3)
这是一个 Bad Thing (TM),可用于所有非平凡的项目。这适用于一系列非常严格的条件,例如dll的版本,线程模型,每个中使用的内存分配器以及其他许多内存分配器。最后,错误将难以追逐。
答案 1 :(得分:0)
只要您使用C版运行时库(/ MD或/ MDd)的DLL版本,那么是的,这是安全的。
如果您将CRT静态链接到DLL(/ MT或/ MTd),那么不,它不安全。