Sdílet prostřednictvím


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(){}

Viz také

Referenční dokumentace

Direktivy Pragma a klíčové slovo __Pragma