Global variables and shared objects...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Don't know if this is the right list but I think that's
somehow a compiler issue. However, I try to make a global
variable visible in a shared object in this way:

in globalHeader.hh:

	class Module;
	extern Module *pModule;
	...
	EOF

in Main.cc:

	#include "Module.hh"

	Module *pModule;

	int main(..)
	{
		...
		pModule = new Module( ... );
		Executor exec = new Execoter( pModule );
		...
	}
	EOF

in functions.c:

	#include "globalHeader.hh"
	#include "Module.hh"
	...
	void foo()
	{
		pModule->getSomething();
	}

	many C-functions
	...
	EOF

The executable "Module" is build from Main.o and Module.o.
A shared object is build from functions.o and other objects.
The shared object is also used by other modules that are in
process space of Executer. If I want to compile another module
that uses this shared objects, the compiler says
undefined reference to pModule->getSomething.

This error is obvious because I do not bind Module.o and Main.o
into the shared object. But if I do so how should another module
know where in ram is pModule.
I hope you could get the idea also it's a bit curios explained!
Any ideas??


Thanks in advance

Jupp Tscheak
	


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux