Re: C++ RTTI/dynamic_cast across shared module boundaries?
Re: C++ RTTI/dynamic_cast across shared module boundaries?
- Subject: Re: C++ RTTI/dynamic_cast across shared module boundaries?
- From: Steve Baxter <email@hidden>
- Date: Sun, 12 Mar 2006 22:31:38 +0000
The problem is that the decision on whether to load plugins/bundles
with global visibility or not is up to the loader (i.e. Python in
this case) not the loadee (the plugin). Unless you can get the
Python guys to change their loading scheme you are stuck I think.
Cheers,
Steve.
On 6 Mar 2006, at 4:03, Peter O'Gorman wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Zachary Pincus wrote:
| Python appears to be using:
| NSCreateObjectFileImageFromFile and NSLinkImage
|
| http://svn.python.org/view/python/trunk/Python/dynload_next.c?
| rev=36531&view=markup
|
| It looks like the options passed to NSLinkImage (which, I assume, is
| where the GLOBAL type flags would go that are passed to dlopen
| eventually) are hard-coded for Mac Python, so there's the
selection of
| loading bundles globally versus locally is done at compile-
time, not
| at run-time.
|
| I'll take this up with the python folk.
Hmm. You could implement your module in two parts, I guess. A loadable
bundle that python can load, and a shared library that the bundle
uses (or a
number of bundles and shared libraries). On Mac OS X 10.3,
NSLinkModule,
et.al. had a private flag, but that only applied to the module
itself, not
any of the libraries that the module used, they were loaded
globally. I
don't think that behavior changed with the new dyld, Nick could
confirm, so
it might work for you.
Peter
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (Darwin)
iQCVAwUBRAu0gbiDAg3OZTLPAQKNDAP/UbAEMeE1mNoWZQA51JkfEvG2ii6ew5mr
kvDZVbRRkU6BKCTTXFIew+/NJIQ92dOCrOG6juFQzeiJIjsTyJ2rTZOAjZLBoCT6
LcU8cU01cXbSI7O92tFSojJfjyz0FBS/Ox6Q3e6hA2xvva3WbZqVaXki6iq7cOma
+aiwPdFLWTs=
=gzER
-----END PGP SIGNATURE-----
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40improvision.com
This email sent to email@hidden
Steve Baxter
Software Development Manager
Improvision
+44-2476-692229
_______________________________________________
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