Re: Dylib and parent application symbol access
Re: Dylib and parent application symbol access
- Subject: Re: Dylib and parent application symbol access
- From: Peter O'Gorman <email@hidden>
- Date: Tue, 10 Jan 2012 07:49:51 -0600
On 01/10/2012 03:08 AM, Robert Bielik wrote:
mark skrev 2012-01-10 10:03:
Exactly, how come you need to have it depend on the application ? The
normal thing to do when designing plugin systems is to have a defined
API which the APP knows about and the plugin implements, i.e. there
should be no dependency towards the APP.
The parent APP has exported functions in the form of RegisterFunction,
RegisterFilter, ... .
I found it easier for the lib to register what functionality it has
this way as oppsed to the APP querying what functions it has.
Then you would do something like:
1. When initializing your plugin (or others), pass with it an instance
of an API that has the RegisterFunction etc. methods.
2. In the initialize method of the plugin, the plugin "calls back" to
that API which is implemented in the APP.
This way you still have no explicit dependency towards the APP.
Other alternatives:
1) Link your plugin with -undefined dynamic_lookup (see ld man page).
2) Have a weak implementation of RegisterFunction, RegisterFilter etc.
in the plugin. This implementation doesn't need to do anything, a strong
symbol in the application will be used in preference to it.
Peter
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden