Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Skapar ett avsnitt i en OBJ-fil.
Syntax
#pragma section( "avsnittsnamn"[,attribut ])
Anmärkningar
Termerna segment och avsnitt har samma betydelse i den här artikeln.
När ett avsnitt har definierats förblir det giltigt för resten av kompileringen. Du måste dock använda __declspec(allocate), annars placeras ingenting i avsnittet.
avsnittsnamn är en obligatorisk parameter som blir namnet på avsnittet. Namnet får inte vara i konflikt med några standardavsnittsnamn. En lista med namn som du inte bör använda när du skapar ett avsnitt finns i /SECTION.
attribut är en valfri parameter som består av ett eller flera kommaavgränsade attribut att tilldela till avsnittet. Möjliga attribut är:
| Attribut | Beskrivning |
|---|---|
read |
Tillåter läsåtgärder för data. |
write |
Tillåter skrivåtgärder på data. |
execute |
Tillåter att kod körs. |
shared |
Delar avsnittet mellan alla processer som läser in avbildningen. |
nopage |
Markerar avsnittet som inte växlingsbart. Användbart för Win32-enhetsdrivrutiner. |
nocache |
Markerar avsnittet som inte cachebart. Användbart för Win32-enhetsdrivrutiner. |
discard |
Markerar avsnittet som ignorerat. Användbart för Win32-enhetsdrivrutiner. |
remove |
Markerar avsnittet som inte minnesbaserat. Endast för virtuella enhetsdrivrutiner (VxD). |
Om du inte anger några attribut har avsnittet read och write attribut.
Exempel
I det här exemplet identifierar det första avsnittet pragma avsnittet och dess attribut. Heltals-j placeras inte i mysec eftersom det inte deklarerats med hjälp av __declspec(allocate). I stället går j in i dataavsnittet. Heltals-i går till mysec på grund av dess __declspec(allocate) storage-class-attribut.
// pragma_section.cpp
#pragma section("mysec",read,write)
int j = 0;
__declspec(allocate("mysec"))
int i = 0;
int main(){}