Я новичок в программировании Windows, и я просто "потерял" два часа, охотясь за ошибкой, о которой все, кажется, знают: вы не можете создать объект в куче в DLL и уничтожить его в другой DLL (или в основная программа).
Я почти уверен, что в Linux/Unix это не так (если это так, скажите об этом, но я уверен, что сделал это тысячи раз без проблем...).
На этом этапе у меня есть несколько вопросов:
1) У статически связанных DLL файлов используется другая куча, чем основная программа?
2) Является ли статически связанная DLL сопоставлена в одном и том же пространстве процесса основной программы? (Я вполне уверен, что ответ здесь большой ДА, иначе не было бы смысла передавать указатели от функции в основной программе до функции в DLL).
Я говорю о простой/обычной DLL, а не о службах COM/ATL
EDIT: "статически связанным" я подразумеваю, что я не использую LoadLibrary для загрузки DLL, но я связываюсь с библиотекой заглушек