Sdílet prostřednictvím


bss_seg pragma

Určuje oddíl (segment), ve kterém jsou v souboru objektu (.obj) uloženy neinicializované proměnné.

Syntaxe

#pragma bss_seg( [ "section-name" [ , "section-class" ] ] )
#pragma bss_seg( { push | pop } [ , identifikátor ] [ , "section-name" [ , "section-class" ] ] )

Parametry

push
(Volitelné) Vloží záznam do zásobníku interního kompilátoru. A push může mít identifikátor a název oddílu.

pop
(Volitelné) Odebere záznam z horní části interního zásobníku kompilátoru. A pop může mít identifikátor a název oddílu. Pomocí identifikátoru můžete zobrazit více záznamů pouze jedním pop příkazem. Název oddílu se stane aktivním názvem oddílu BSS za pop.

identifikátor
(Volitelné) Při použití se pushzáznamem v interním zásobníku kompilátoru přiřadí název záznamu. Při použití popse direktivou vyskočí záznamy z interního zásobníku, dokud se identifikátor neodebere. Pokud se v interním zásobníku nenajde identifikátor , nic se nevypíná.

"section-name"
(Volitelné) Název oddílu. Při použití popse zásobník zobrazí a název oddílu se změní na aktivní název oddílu BSS.

"section-class"
(Volitelné) Ignorováno, ale je součástí kompatibility s verzemi Microsoft C++ staršími než verze 2.0.

Poznámky

Oddíl v souboru objektu je pojmenovaný blok dat načtených do paměti jako jednotka. Část BSS je oddíl, který obsahuje neinicializovaná data. V tomto článku mají segment termínů a oddíl stejný význam.

Direktiva bss_segpragma kompilátoru říká, aby všechny neinicializované datové položky z jednotky překladu umístil do oddílu BSS s názvem section-name. V některých případech může použití bss_seg zrychlit načítání seskupením neinicializovaných dat do jedné části. Ve výchozím nastavení je část BSS použitá pro neinicializovaná data v souboru objektu pojmenována .bss. Direktiva bss_segpragma bez parametru section-name resetuje název oddílu BSS pro následné neinicializované datové položky na .bss.

Data přidělená pomocí této funkce bss_segpragma neuchovávají žádné informace o jejich umístění.

Seznam názvů, které by se neměly používat k vytvoření oddílu, najdete v tématu /SECTION.

Můžete také zadat oddíly pro inicializovaná data (), funkce (data_segcode_seg) a proměnné const (const_seg).

K zobrazení souborů objektů můžete použít DUMPBIN.EXE aplikaci. Verze DUMPBIN pro každou podporovanou cílovou architekturu jsou součástí sady Visual Studio.

Příklad

// 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 .my_data1

int main() {
}

Viz také

Direktivy Pragma a __pragma _Pragma klíčová slova