From: Oscar F. <of...@wa...> - 2003-10-12 09:02:06
|
Jonathan Wilson <jo...@tp...> writes: >> static DWORD __tls_index; > Will the static keyword allow this to be seen by other object files though? > I know its possible to implement a variable thats: > 1.declared in the file (as opposed to being extern) > 2.uninitalized > and 3.visible to other files at link time I think you are confusing some things here: a global variable must be *defined* on one and only one translation unit. Unless you mark it with 'static', that variable will be accessible from other translation units, which needs a *declaration* such as "extern int foo;" for accessing it. IIRC, the C standard requires that global variables must be initialized either with an user-provided value or with zero at startup. So I think there is no way of achieving unitialized global data with Standard C. > I just dont know how to tell MingW to do that. (of course, it might > not be possible in GCC, only Visual C++ in which case I need to go > to plan B :) Why do you need unitialized global data? Is it a matter of the memory location where the linker puts the data? Maybe if you explain the problem you are trying to solve someone can suggest an alternative solution wich works with GCC or with a standard C compiler. Now that I think about it, assembler should allow you to have global unitialized data and acces it from C units using normal C syntax. -- Oscar |