[an error occurred while processing this directive]
|
|
В каком-нибудь ассемблерном файле объявить сегмент (можно пустой) типа COMMON
COMMON NAME_COMMON_SEGMENT:DATA(0)
Важно, чтобы при линковке данный файл линковался первым. В оболочке IDE для этого достаточно объявить его с первым по алфавиту именем (по сравнению с другими файлами проекта).
В других Си файлах можно было запросто объявлять данные в этом COMMON-сегменте, например, так:
#pragma memory = dataseg(NAME_COMMON_SEGMENT)
int a;
char b;
....
#pragma memory = default
При линковке выдавалось предупреждение о несоответствии типов сегментов, но тип присваивался тот, который линковщик видел в первом линкуемом файле, имеющем сегмент с таким именем. А так как мы уже позаботились о том, чтобы первым линковался файл, имеющий нужный тип сегмента, то все проходило на ура.
Думаю, что тот же фокус пройдет и в новом компиляторе. Если нетрудно будет сообщите о результате.
E-mail: info@telesys.ru