Распределения между dll в порядке? - PullRequest
0 голосов
/ 07 мая 2009

Если у меня есть приложение, которое использует как минимум две библиотеки DLL, безопасно ли вообще распределять ресурсы в одной библиотеке DLL и освобождать их в другой?

Я специально думаю о вызове fopen и fclose в разных dll, но я также хотел бы знать, что это безопасно для других ресурсов (указателей памяти, дескрипторов и т. Д.).

Я думаю, что пока все скомпилировано с одинаковыми ключами, оно должно работать.

Спасибо, Cory

Ответы [ 2 ]

3 голосов
/ 07 мая 2009

Это Плохая вещь (TM) для всех, кроме нетривиальных проектов. Это работает в очень строгом наборе условий, таких как версия библиотеки DLL, модель потоков, распределители памяти, используемые в каждом из них, и множество других. Наконец, ошибки будут слишком трудно преследовать.

0 голосов
/ 07 мая 2009

Пока вы используете DLL-версию библиотеки времени выполнения C (/ MD или / MDd), тогда да, это безопасно.

Если вы статически связываете CRT в DLL (/ MT или / MTd), то нет, это небезопасно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...