Shared data, dll

0

Witam,
mam, może trochę głupie, pytanie.

Próbuję zrobić dll z sekcją współdzieloną (tak to się nazywa po polsku?)

#pragma comment(linker, "/SECTION:.shared,RWS")
#pragma data_seg(".shared")
int g_int = 0;
#pragma data_seg() 

Kopilator nie zna dyrektyw i wypluwa:

 C:\Users\user\Documents\Codeblocks\sharedlib\main.cpp|17|warning: ignoring #pragma comment  [-Wunknown-pragmas]|
C:\Users\user\Documents\Codeblocks\sharedlib\main.cpp|18|warning: ignoring #pragma data_seg  [-Wunknown-pragmas]|
C:\Users\user\Documents\Codeblocks\sharedlib\main.cpp|20|warning: ignoring #pragma data_seg  [-Wunknown-pragmas]|

w konsekwencji zmienna globalna nie jest współdzielona.
Używam C::B i najnowszego MinGW.

W dokumentacji data_seg http://msdn.microsoft.com/pl-pl/library/thfhx4st.aspx występuje dla Visual Studio. Czy więc jest to kwestia IDE i poza VS tego nie zrobię?

0

Cześć,

Taak, to kwestia kompilatora. W MinGW robi się to trochę inaczej:

int g_int __attribute__((section (".shared"), shared));

Trochę offtopic:
Shared sekcje są fajne do pobawienia się, ale ostrożnie z ich używaniem w kodzie produkcyjnym / produktach, które trafiają do userów (mogą trochę popsuć bezpieczeństwo produktu - patrz np. http://gynvael.coldwind.pl/?id=472).

Cheers,

1 użytkowników online, w tym zalogowanych: 0, gości: 1