section
Tworzy plik .obj sekcji.
#pragma section( "section-name" [, attributes] )
Uwagi
Znaczenie terminów segment i sekcji są wymienne, w tym temacie.
Po sekcji jest zdefiniowana, pozostaje ważne do końca kompilacji.Jednakże, należy użyć __declspec(allocate) lub nic nie zostaną umieszczone w sekcji.
Nazwa sekcji jest wymagany parametr, który będzie nazwą sekcji.Nazwa nie może powodować konfliktu z nazwy sekcji standardowych.Zobacz /Section do listy nazw nie należy używać podczas tworzenia sekcji.
attributesopcjonalny parametr składający się z jednego lub kilku oddzielone przecinkami atrybutów, które chcesz przypisać do sekcji.Możliwe attributes są:
Odczyt
Zezwala na operacje odczytu danych.zapis
Zezwala na operacje zapisu danych.wykonanie
Pozwala na wykonanie kodu.udostępnione
Udziały sekcji między wszystkie procesy, które ładują obrazu.nopage
Znaki sekcji jako nie stronicowanej; przydatne dla sterowników urządzeń systemu Win32.NoCache
Znaki sekcji jako nie przez HTTP.sys; przydatne dla sterowników urządzeń systemu Win32.Odrzuć
Znaki sekcji jako discardable; przydatne dla sterowników urządzeń systemu Win32.Usuń
Znaki sekcji jako nie rezydentny; sterowniki urządzeń wirtualnych (VxD) tylko.
Jeśli nie określisz atrybuty, sekcja będzie mieć odczytu i zapisu atrybutów.
Przykład
W poniższym przykładzie pierwsza instrukcja identyfikuje sekcji i jego atrybuty.Liczba całkowita j nie jest umieszczana w mysec , ponieważ nie została zadeklarowana z __declspec(allocate); jPrzechodzi do sekcji danych.Liczba całkowita i go do mysec w wyniku jego __declspec(allocate) atrybut klasy magazynowania.
// pragma_section.cpp
#pragma section("mysec",read,write)
int j = 0;
__declspec(allocate("mysec"))
int i = 0;
int main(){}