Я новичок в программировании для Windows, и я только что "потерял" два часа на поиски ошибки, о которой, кажется, все знают: вы не можете создать объект в куче в DLL и уничтожить его в другой DLL ( или в основной программе)
Я почти уверен, что в Linux/Unix это НЕ так (если это так, скажите, пожалуйста, но я почти уверен, что делал это тысячи раз без проблем.. .)
На данный момент у меня есть пара вопросов:
1) Используют ли статически связанные библиотеки DLL другую кучу, отличную от основной программы?
2) Находится ли статически связанная DLL в том же пространстве процессов, что и основная программа? (Я совершенно уверен, что ответ здесь - большое ДА, иначе не имело бы смысла передавать указатели от функции в основной программе к функции в DLL).
Я говорю об обычной/обычной DLL, а не о службах COM/ATL.
РЕДАКТИРОВАТЬ: Под «статически связанным» я имею в виду, что я не использую LoadLibrary для загрузки DLL, а связываюсь с библиотекой-заглушкой