Re:Sorry state of dynamic libraries on Linux
by klodolph on Thursday September 20, 2012 @12:12AM
(#4546910)
> This is a good thing. Object handles belong to the module that created them, and it is a good way to ensure a clean way to use accessor functions to deal with data.
No, it doesn't prevent anything. There is nothing stopping you from calling free() on a buffer returned from a function in a DLL, it just might crash. There is nothing inherently superior about adding an additional source of crashes which are not diagnosed by the compiler.
Just like in Aix, unless it is now changed (my experience goes back to 2001).
> C++ exceptions cannot pass DLL boundaries.
C++ restrictions have to do with lack of C++ ABI. You have in same issue in ELF systems, when mixing compilers.
> Heap memory allocated by one DLL cannot always be freed by another.
This is a good thing. Object handles belong to the module that created them, and it is a good way to ensure a clean way to use accessor functions to deal with data.