section
Vytvoří oddíl v souboru obj.
#pragma section( "section-name" [, attributes] )
Poznámky
Významy pojmů segment a oddíl jsou v tomto tématu zaměnitelné.
Jakmile je oddíl definován, zůstane v platnosti pro zbývající část kompilace.Je však nutné použít __declspec(allocate) nebo nebude do části umístěno nic.
Název oddílu je povinný parametr, který bude představovat název oddílu.Název nesmí kolidovat se standardními názvy oddílu.Seznam názvů, které by při tvorbě oddílu neměly být používány, naleznete v tématu /SECTION.
attributes je volitelný parametr sestávající z jednoho nebo více atributů oddělených čárkami, které je třeba k oddílu přiřadit.Možné attributes jsou:
read
Umožňuje na datech provádět operace čtení.write
Umožňuje na datech provádět operace zápisu.execute
Umožňuje spuštění kódu.shared
Sdílí části mezi všemi procesy, které načítají obrázek.nopage
Označí oddíl jako stránkovatelný. Vhodné pro ovladače zařízení v systému Win32.nocache
Označí oddíl jako oddíl, který lze uložit do mezipaměti. Vhodné pro ovladače zařízení v systému Win32.discard
Označí oddíl jako oddíl, který nelze uložit do mezipaměti. Vhodné pro ovladače zařízení v systému Win32.remove
Označí oddíl jako rezidentní. Pouze ovladače virtuálního zařízení (VxD).
Nejsou-li atributy zadány, části budou obsahovat atributy ke čtení a zápisu.
Příklad
V následujícím příkladu označuje první instrukce část a její atributy.Celé číslo j není umístěno do mysec, protože nebylo deklarováno pomocí __declspec(allocate). j přejde do datové oblasti.Celé číslo i přejde do mysec jako výsledek svého atributu třídy úložiště __declspec(allocate).
// pragma_section.cpp
#pragma section("mysec",read,write)
int j = 0;
__declspec(allocate("mysec"))
int i = 0;
int main(){}