(j3.2006) Alternative binding label without C interoperability?

Van Snyder van.snyder
Sun Oct 2 15:35:03 EDT 2016


On Sun, 2016-10-02 at 16:51 +0000, Clune, Thomas L. (GSFC-6101) wrote:
> No, because the names would then only be a shared object library that
> is not directly linked to the main executable.  It nicely sidesteps
> the entire issue.   Each component will be in its own library, so
> there would be only one setServices() in each library, and that would
> be dynamically loaded as needed.

In order to get a procedure pointer associated with the binding label,
you need to supply the library handle.  So even if the binding label is
the same as one in a different library, they don't collide.

>From the dlsym(3) man page:

        The function dlsym() takes a "handle" of a dynamic library
        returned by dlopen() and the null-terminated symbol name,
        returning the address where that symbol is loaded into memory.





More information about the J3 mailing list