symbol hiding

Erik de Castro Lopo wine at mega-nerd.com
Fri May 14 09:10:32 CDT 2004


On Fri, 14 May 2004 14:24:51 +0100
James Courtier-Dutton <James at 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
-- 
+-----------------------------------------------------------+
  Erik de Castro Lopo  nospam at mega-nerd.com (Yes it's valid)
+-----------------------------------------------------------+
A good debugger is no substitue for a good test suite.
-- 
-- 
+-----------------------------------------------------------+
  Erik de Castro Lopo  nospam at mega-nerd.com (Yes it's valid)
+-----------------------------------------------------------+
A good debugger is no substitue for a good test suite.



More information about the wine-devel mailing list