Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Программист должен объявить в своей программе сегмент с каким-то именем, отличным от имени системных сегментов (они начинаются с символа "точка"), разместить в этом сегменте требуемые для "обобществления" переменные и закрыть сегмент. В программе эти переменные адресуются точно так же, как и все другие переменные - создание дополнительного сегмента данных это только указание компилятору, что он должен при кодогенерации перечисленные переменные в указанном сегменте разместить. Делает объявление отдельного сегмента директива #pragma data_seg("<имя сегмента>"). Далее, при сборке модуля,нужно указать линкеру, чтобы он присвоил сегменту с назначенным именем атрибут shared. Это указывается опцией линкера -SECTION: <имя сегмента>, RWS. Всё! После загрузки модуля на исполнение сегмент с данным именем будет содержать единственную на все такие исполняющиеся модули копию данных.
Составить ответ | Вернуться на конференцию
Ответы