>Угу. Из-за того что runtime library в DLL и EXE как правило
>различаются. Совместимы только на уровне HeapAlloc. Теоретически в юниксах тоже могут
>различаться (?), но как правило используется одна и та же. Так
>что проблем быть не должно. Хотя лично я бы так не
>делал. Или пусть основной модуль выделяет перед вызовом F(), или пусть
>библиотека освобождает, экспортируя еще одну функцию. Да, это понятно - это совершенно безопасно, но не хочется
"натягивать на свечку дополнителную защиту" :)
Да и код становится более сложным и череватый ошибками.
В принципе проблеммы могут быть в случае статической компоновки
всех библиотек в исполняемом модуле (опция -static-libgcc),
но если ее нет - тогда код и данные освобождения - выделения памяти будут
одними и темеже - а значит проблемм быть не должно. Собственно в винде
(CBuilder) вроде как именно так.
Алексей.