Sdílet prostřednictvím


section pragma

Vytvoří oddíl v souboru OBJ.

Syntaxe

#pragma section( "section-name " [ , atributy ])

Poznámky

Segment termínů a oddíl mají stejný význam v tomto článku.

Jakmile je oddíl definovaný, zůstane platný pro zbytek kompilace. Je však nutné použít __declspec(allocate), nebo se v oddílu nic nesloží.

section-name je povinný parametr, který se stane názvem oddílu. Název nesmí být v konfliktu s žádnými standardními názvy oddílů. Podívejte /SECTION se na seznam názvů, které byste neměli používat při vytváření oddílu.

atributy jsou volitelný parametr, který se skládá z jednoho nebo více atributů oddělených čárkami, které se mají přiřadit k oddílu. Možné atributy jsou:

Atribut Popis
read Umožňuje operace čtení dat.
write Umožňuje operace zápisu dat.
execute Umožňuje spuštění kódu.
shared Sdílí oddíl mezi všemi procesy, které načítají image.
nopage Označí oddíl jako nestránitelný. Užitečné pro ovladače zařízení Win32.
nocache Označí oddíl jako neupamětelný. Užitečné pro ovladače zařízení Win32.
discard Označí oddíl jako zahozený. Užitečné pro ovladače zařízení Win32.
remove Označí oddíl jako oddíl, který není rezidentem paměti. Pouze pro ovladače virtuálních zařízení (VxD).

Pokud nezadáte žádné atributy, oddíl má read a write atributy.

Příklad

V tomto příkladu první část pragma identifikuje oddíl a jeho atributy. Celé číslo j není vloženo mysec , protože nebylo deklarováno pomocí __declspec(allocate). j Místo toho přejde do datového oddílu. Celé číslo i se dostane mysec z důvodu atributu __declspec(allocate) třídy úložiště.

// pragma_section.cpp
#pragma section("mysec",read,write)
int j = 0;

__declspec(allocate("mysec"))
int i = 0;

int main(){}

Viz také

Direktivy Pragma a __pragma _Pragma klíčová slova