Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Určuje textový oddíl (segment), ve kterém jsou funkce uloženy v souboru objektu (.obj).
Syntaxe
#pragma code_seg([ "section-name" [,"section-class" ] ])
#pragma code_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 popmůžete zobrazit více záznamů pouze jedním příkazem. Název oddílu se stane názvem aktivního textového oddílu 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 název aktivního textového oddílu.
"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. Textový oddíl je oddíl, který obsahuje spustitelný kód. V tomto článku mají segment termínů a oddíl stejný význam.
Direktiva code_segpragma kompilátoru říká, aby všechny další objektové kódy z jednotky překladu umístil do textového oddílu s názvem section-name. Ve výchozím nastavení se textový oddíl používaný pro funkce v souboru objektu jmenuje .text. Direktiva code_segpragma bez parametru section-name resetuje název textového oddílu pro následující kód objektu na .text.
Direktiva code_segpragma neřídí umístění kódu objektu vygenerovaného pro vytváření instancí šablon. Neřídí ani kód vygenerovaný implicitně kompilátorem, jako jsou speciální členské funkce. Pokud chcete tento kód řídit, doporučujeme místo toho použít __declspec(code_seg(...)) atribut. Poskytuje kontrolu nad umístěním veškerého objektového kódu, včetně kódu generovaného kompilátorem.
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 (data_seg), neinicializovaná data (bss_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
Tento příklad ukazuje, jak použít direktivu code_segpragma k řízení umístění kódu objektu:
// pragma_directive_code_seg.cpp
void func1() { // stored in .text
}
#pragma code_seg(".my_data1")
void func2() { // stored in my_data1
}
#pragma code_seg(push, r1, ".my_data2")
void func3() { // stored in my_data2
}
#pragma code_seg(pop, r1) // stored in my_data1
void func4() {
}
int main() {
}
Viz také
code_seg (__declspec)
direktivy Pragma a __pragma a _Pragma klíčová slova