On Fri, 14 May 2004 14:24:51 +0100 James Courtier-Dutton James@superbug.demon.co.uk wrote:
What is wrong with seeing names of internal interfaces?
The main problem is the likelihood of symbol collisions between internal symbols which are the same in two different libraries.
By restricting the exported symbols to just the public interfaces you reduce the chances of this.
If someone wants to use a lib you publish, they just look in the .h file to find out how to interface with it. They won't be looking in the binary file to find out how to use it.
I expect that one of the reasons why one can't control "such basic things in the ELF world"
Controlling which symbols are exported from a lib is just as easy with ELF as it is in windows. I do it with both of my two libraries:
http://www.mega-nerd.com/libsndfile/ http://www.mega-nerd.com/SRC/
Exported symbols are limited on Linux, MacOSX and Win32.
Erik