Re: info.plist with DYLD_LIBRARY_PATH = ~/test
Re: info.plist with DYLD_LIBRARY_PATH = ~/test
- Subject: Re: info.plist with DYLD_LIBRARY_PATH = ~/test
- From: Kyle Sluder <email@hidden>
- Date: Mon, 4 Oct 2010 11:18:41 -0700
On Mon, Oct 4, 2010 at 11:11 AM, Greg Parker <email@hidden> wrote:
> On Oct 2, 2010, at 6:54 PM, Kyle Sluder wrote:
>
> Maybe weak linking can help here. If you weak link the Python library and
> call dlopen early on in your program's lifetime with the appropriate path, I
> think dyld will populate all the weak linked functions it finds.
>
> No, weak linking doesn't do that.
> You want deferred binding: if the symbol you want is not present at load
> time but appears later, resolve to that one at that time. dlopen+dlsym is
> the only way to get that on Mac OS.
> Normal linking is required and not deferred: if the symbol you want is not
> present at load time, your process halts.
> Weak linking is optional, but still not deferred: if the symbol you want is
> not present at load time, then your references resolve to NULL. You don't
> get a chance to try again later.
Okay, I was confused by this statement in the manpage for dlopen(3):
RTLD_NOW All external function references are bound immediately
during the call to dlopen().
I suppose that applies to external function references in the library
being loaded, not the one doing the loading.
--Kyle Sluder
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden