bss_seg
Указывает сегмент, где неинициализированных переменных хранятся в файле obj.
#pragma bss_seg( [ [ { push | pop }, ] [ identifier, ] ] [ "segment-name" [, "segment-class" ] )
Заметки
Файлы Obj, можно просмотреть с dumpbin приложения.По умолчанию сегмент в obj-файле для неинициализированных данных .bss.В некоторых случаях использование bss_seg могут ускорить время загрузки путем группирования неинициализированные данные в один раздел.
bss_seg без параметров сбросит сегмент в .bss.
push(необязательно)
Помещает запись на внутренний стек компилятора.A push может иметь Идентификатор и сегмент-имя.шипучка (необязательно)
Удаляет запись из вершины внутреннего стека компилятора.Идентификатор (необязательно)
при использовании с push, присвоити имя для записи во внутреннем стеке компилятора.при использовании с шипучка, шипучки не будут создавать с помощью внутреннего стека до Идентификатор удаляет; If Идентификатор не удается найти во внутреннем стеке, ничего не получаются.Идентификатор включает несколько записей, извлекаемые с одним шипучка команды.
«сегмент-имя»(необязательно)
имя сегмента*.* при использовании с шипучкастек, извлекается и сегмент-имя становится имя активного сегмента.«сегмент-класс» (необязательно)
Включено для обеспечения совместимости с C++ до версии 2,0.Он не учитывается.
Пример
// pragma_directive_bss_seg.cpp
int i; // stored in .bss
#pragma bss_seg(".my_data1")
int j; // stored in "my_data1"
#pragma bss_seg(push, stack1, ".my_data2")
int l; // stored in "my_data2"
#pragma bss_seg(pop, stack1) // pop stack1 from stack
int m; // stored in "stack_data1"
int main() {
}
Также можно указать разделах инициализированных данных (data_segфункции ()code_segconst () и переменныеconst_seg).
Данные, выбранные с помощью bss_seg прагма не содержит никаких сведений о своем местоположении.
См. /SECTION список имен не следует использовать создание раздела.