How to handle variables (data, etc.) in DLLs?
T J Harding
Thu Mar 4 01:32:00 GMT 1999
DJ Delorie wrote:
> DLLs *can't* export "data". They can only export pointers to data,
> which is what they do. In older gccs, you'll need to do something
> like this:
> extern int *__imp_foo;
> #define foo (*__imp_foo)
> In newer gccs, do something like this:
> extern int foo __attribute__((dllimport));
> These tell gcc to dereference the imported pointer, rather than
> thinking it's the data itself.
Thanks, that's useful to know (although there are about 250 of these
data symbols in the code!). I'd need to brush up on my C++ (yes, this
is actually C++ code) to figure out what's required.
tel;cell:+44 961 444986
tel;fax:+44 131 220 4492
tel;work:+44 131 220 4491
adr:;;16 Chester Street;Edinburgh;Scotland;EH3 7RA;United Kingdom
More information about the Cygwin