dad1e7b3e9
I'm using ltdl even it considers my DLLs to NOT be a libtool archive, and this is making the symbol name transformation mess up. If I do it myself, I can avoid this. |
||
---|---|---|
.. | ||
main.cc | ||
main.h | ||
Makefile.in | ||
module1.cc | ||
module2.cc | ||
modules.h | ||
README | ||
uselib.out.expected |
test11-modglobalconstr This is the description from test10-modvirtual: > Create an interface class in modules.h called DeviceInterface. Each module > creates a child class of DeviceInterface, and implements its methods. This > test loads the modules, calls the module's module_init() which instantiates a > subclass of DeviceInterface and returns a pointer to it. Then main can > operate on this object using the DeviceInterface class. In test11, I have changed only one thing. Module2's class is created by a global constructor. Global constructors SHOULD be called when the module loads, but if your C++ compile/link process is broken or libtool uses the wrong link args, then sometimes global constructors in shared libs are NOT loaded. If test10 succeeds, but test11 fails, then you will know that your platform does not call global constructors on shared libraries when they are loaded.