LINK : warning LNK4039: section .. does not exist
От: Pushkin_С Украина  
Дата: 09.09.04 10:03
Оценка:
Здравствуйте!

пишу я так:

#pragma data_seg(".SharedBuff")
char shared_string[2048] = {0};
#pragma data_seg()
#pragma comment(linker, "/SECTION:.SharedBuff,RWS")


делаю билд, а линкер мне
LINK : warning LNK4039: section ".SharedBuff" specified with /SECTION option does not exist

почему так? вроде все правильно пишу.

09.09.04 20:18: Перенесено модератором из 'C/C++' — Павел Кузнецов
Re: LINK : warning LNK4039: section .. does not exist
От: Sergey J. A. Беларусь  
Дата: 09.09.04 10:07
Оценка: 4 (2)
Здравствуйте, Pushkin_С, Вы писали:

P_С>пишу я так:


P_С>
P_С>#pragma data_seg(".SharedBuff")
P_С>char shared_string[2048] = {0};
P_С>#pragma data_seg()
P_С>#pragma comment(linker, "/SECTION:.SharedBuff,RWS")
P_С>


P_С>делаю билд, а линкер мне

P_С>LINK : warning LNK4039: section ".SharedBuff" specified with /SECTION option does not exist

P_С>почему так? вроде все правильно пишу.


Попробуй уменьшить имя секции до 8 символов...
Я — свихнувшееся сознание Джо.
Re[2]: LINK : warning LNK4039: section .. does not exist
От: Pushkin_С Украина  
Дата: 09.09.04 10:48
Оценка:
Здравствуйте, Sergey J. A., Вы писали:

SJA>Здравствуйте, Pushkin_С, Вы писали:


P_С>>пишу я так:


P_С>>
P_С>>#pragma data_seg(".SharedBuff")
P_С>>char shared_string[2048] = {0};
P_С>>#pragma data_seg()
P_С>>#pragma comment(linker, "/SECTION:.SharedBuff,RWS")
P_С>>


P_С>>делаю билд, а линкер мне

P_С>>LINK : warning LNK4039: section ".SharedBuff" specified with /SECTION option does not exist

P_С>>почему так? вроде все правильно пишу.


SJA>Попробуй уменьшить имя секции до 8 символов...


спасибо.
уже варнингов линкер не выдает. Но не работает это нормально.
у одном процессе записываю данные. а во втором не вижу изменений

может это из за того что одна прога ЮНИКОИДна а вторая нет?
Re[3]: LINK : warning LNK4039: section .. does not exist
От: Sergey J. A. Беларусь  
Дата: 09.09.04 11:31
Оценка:
Здравствуйте, Pushkin_С, Вы писали:

P_С>спасибо.

P_С>уже варнингов линкер не выдает. Но не работает это нормально.
P_С>у одном процессе записываю данные. а во втором не вижу изменений
P_С>
P_С>может это из за того что одна прога ЮНИКОИДна а вторая нет?

Тока что попробовал. Работает вот это:

#pragma data_seg(".Buff")
char buff[2048] = {0};
#pragma data_seg()
#pragma comment(linker, "/SECTION:.Buff,RWS")


Проверь, может у тебя массив не инициализируется ? В таком случае данные попадают в другую секцию — .bss — неинициализированные данные.
А может ты просто не конвертиш строку ? Unicode->ANSI ? Тогда проверь в дебагере, появились ли данные.
Я — свихнувшееся сознание Джо.
Re[4]: LINK : warning LNK4039: section .. does not exist
От: Pushkin_С Украина  
Дата: 09.09.04 11:48
Оценка:
Здравствуйте, Sergey J. A., Вы писали:

SJA>Здравствуйте, Pushkin_С, Вы писали:


P_С>>спасибо.

P_С>>уже варнингов линкер не выдает. Но не работает это нормально.
P_С>>у одном процессе записываю данные. а во втором не вижу изменений
P_С>>
P_С>>может это из за того что одна прога ЮНИКОИДна а вторая нет?

SJA>Тока что попробовал. Работает вот это:


SJA>
SJA>#pragma data_seg(".Buff")
SJA>char buff[2048] = {0};
SJA>#pragma data_seg()
SJA>#pragma comment(linker, "/SECTION:.Buff,RWS")
SJA>


SJA>Проверь, может у тебя массив не инициализируется ? В таком случае данные попадают в другую секцию — .bss — неинициализированные данные.

SJA>А может ты просто не конвертиш строку ? Unicode->ANSI ? Тогда проверь в дебагере, появились ли данные.

и в одном и в другом процессе делаю инициализацию.
=== 1-й процесс ===

#pragma data_seg(".Buff")
char shared_string[2048] = {0};
#pragma data_seg()
#pragma comment(linker,"/SECTION:.Buff,RS")


================================================

==== 2 -й процесс ================

#pragma data_seg(".Buff")
char shared_string[2048] = {0};
#pragma data_seg()
#pragma comment(linker,"/SECTION:.Buff,RWS")


========================================
Запускаю сначала 1-й процесс — он инициализирует нулями буфер.
Потом запускаю второй процесс и смотрю в дебагире второго что тоже все проинициализировал 0-ми.
Потом во втором процессе записываю данные (в буфере видно — все ОК.)
а вот в буфере 1-го процесса все нули
Re[5]: LINK : warning LNK4039: section .. does not exist
От: Sergey J. A. Беларусь  
Дата: 09.09.04 12:01
Оценка:
Здравствуйте, Pushkin_С, Вы писали:

У тебя 2 разные программы — поэтому данные и не шаряться.... Как-то я это просмотрел...
Так что ничего не выйдет. Используй File Mapping
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.