Bochs/bochs-testing/plugin-test/test4-interdep
2002-10-11 16:35:53 +00:00
..
Makefile - add "make test" target 2002-10-11 16:08:43 +00:00
module1.cc - rewrite DLL macros, now somewhat closer to how LT_SCOPE is written 2002-10-11 16:09:21 +00:00
module1.h - change #warnings so that they are informative, instead of "case 1,2,3" 2002-10-11 16:25:49 +00:00
module2.cc - rewrite DLL macros, now somewhat closer to how LT_SCOPE is written 2002-10-11 16:09:21 +00:00
module2.h - change #warnings so that they are informative, instead of "case 1,2,3" 2002-10-11 16:25:49 +00:00
README - in bochs-testing area, check in shared library tests that I wrote while 2002-10-11 14:51:27 +00:00
uselib.cc - tweak DLL import/export macro so that the importer does not have to 2002-10-11 16:21:33 +00:00

test4-interdep

Can one module reference objects in another module? Yes.

module1 exports module_name and operate(int,int).
module2 exports n_operations and operation_occurred().

uselib.cc uses symbols and functions from both modules.
Module1 calls operation_occurred() in module2.

To do this, module2 must be built first.  Then module1 is linked
against module2 so that the missing symbols are available.  Then,
uselib is linked against both.

This shows that we can chain libraries.  I haven't seen any way to
resolve a circular dependency, where mod1 depends on mod2 and vice 
versa, in win32 DLLs.  Probably those are not supported.