Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
 |  |  |
U tebia section name dlinee chem 8 characters 27.03.02 20:53 Число просмотров: 960
Автор: + <Mikhail> Статус: Elderman
|
form MSDN:
All section names must not be longer than eight characters, including the period character.
> > #pragma data_seg("MyDataSeg")
> > static DWORD MyData = 0; > > #pragma data_seg() > > > > #pragma comment(linker, "/SECTION:MyDataSeg,RWS") > > > > R - read > > W - write > > S - shared - если надо > > > > cb. > > > Именно так и делал. Но так вообще сегмент не появляется > этот. > Если убрать строку, закрывающую сегмент (#pragma > data_seg()) > - появляется, но в нем вообще другие данные попадают > (строки). > > ??? > В чем трабл?
|
<programming>
|
[Win32] [MSVC] Подскажете как правильно задать свой сегмент данных (типа #pragma data_seg(".ddd")) ? 27.03.02 10:58
Автор: KMiNT21 <http://blog.kmint21.com> Статус: Member
|
|
 |
[Win32] [MSVC] Подскажете как правильно задать свой сегмент данных (типа #pragma data_seg(".ddd")) ? 27.03.02 11:36
Автор: cb <cb> Статус: Member
|
#pragma data_seg("MyDataSeg")
static DWORD MyData = 0;
#pragma data_seg()
#pragma comment(linker, "/SECTION:MyDataSeg,RWS")
R - read
W - write
S - shared - если надо
cb.
|
 |  |
Я как раз так и пробовал (для DLL делаю). Что-то не получается. (внутри) 27.03.02 15:17
Автор: KMiNT21 <http://blog.kmint21.com> Статус: Member
|
> #pragma data_seg("MyDataSeg") > static DWORD MyData = 0; > #pragma data_seg() > > #pragma comment(linker, "/SECTION:MyDataSeg,RWS") > > R - read > W - write > S - shared - если надо > > cb.
Именно так и делал. Но так вообще сегмент не появляется этот.
Если убрать строку, закрывающую сегмент (#pragma data_seg())
- появляется, но в нем вообще другие данные попадают (строки).
???
В чем трабл?
|
 |  |  |
U tebia section name dlinee chem 8 characters 27.03.02 20:53
Автор: + <Mikhail> Статус: Elderman
|
form MSDN:
All section names must not be longer than eight characters, including the period character.
> > #pragma data_seg("MyDataSeg")
> > static DWORD MyData = 0; > > #pragma data_seg() > > > > #pragma comment(linker, "/SECTION:MyDataSeg,RWS") > > > > R - read > > W - write > > S - shared - если надо > > > > cb. > > > Именно так и делал. Но так вообще сегмент не появляется > этот. > Если убрать строку, закрывающую сегмент (#pragma > data_seg()) > - появляется, но в нем вообще другие данные попадают > (строки). > > ??? > В чем трабл?
|
 |  |  |  |
Да не, я имя свое, короткое, задавал. А если длинное задать - просто обрежется линкером. 28.03.02 10:38
Автор: KMiNT21 <http://blog.kmint21.com> Статус: Member
|
|
 |  |  |
Я как раз так и пробовал (для DLL делаю). Что-то не получается. (внутри) 27.03.02 16:10
Автор: cb <cb> Статус: Member
|
> Именно так и делал. Но так вообще сегмент не появляется > этот. > Если убрать строку, закрывающую сегмент (#pragma > data_seg()) > - появляется, но в нем вообще другие данные попадают > (строки). > > ??? > В чем трабл?
странно это...
только что попробовал (MSVC 6.0 Ent edition) - сегмент создался без вопросов.. имя сегметна укоротилось до 8-ми байт (согласно PE формату)
cb.
|
 |  |  |  |
Странно все... Ладно, как (if) разберусь - скажу, почему оно глючило... 27.03.02 16:14
Автор: KMiNT21 <http://blog.kmint21.com> Статус: Member
|
|
 |  |  |  |  |
Все решилось. Как только инициализацию добавил того DWORа в "моем" сегменте, так заработало. 29.03.02 16:28
Автор: KMiNT21 <http://blog.kmint21.com> Статус: Member
|
Вернулся я снова к той проблеме и успешно решил. :)
Оказалось что вместо
#pragma data_seg(".ABC")
DOWRD abc;
#pragma data_seg()
нужно
#pragma data_seg(".ABC")
DOWRD abc=0;
#pragma data_seg()
Только тогда сегмент этот создается.
|
|
|