Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Создает раздел в OBJ-файле.
Синтаксис
#pragma section( "имя"раздела [,атрибуты ])
Замечания
Сегмент терминов и раздел имеют то же значение в этой статье.
После определения раздела он остается допустимым для остальной части компиляции. Тем не менее, необходимо использовать __declspec(allocate)или ничего не помещается в раздел.
имя раздела — это обязательный параметр, который становится именем раздела. Имя не должно конфликтовать со стандартными именами раздела. Список /SECTION имен, которые не следует использовать при создании раздела.
атрибуты — это необязательный параметр, состоящий из одного или нескольких атрибутов, разделенных запятыми, для назначения разделу. Возможные атрибуты :
| Атрибут | Description |
|---|---|
read |
Позволяет выполнять операции чтения данных. |
write |
Позволяет выполнять операции записи данных. |
execute |
Позволяет выполнять код. |
shared |
Предоставляет совместный доступ к разделу всем процессам, загружающим образ. |
nopage |
Помечает раздел как недоступный для страницы. Полезно для драйверов устройств Win32. |
nocache |
Помечает раздел как недоступный для кэширования. Полезно для драйверов устройств Win32. |
discard |
Помечает раздел как отменяемый. Полезно для драйверов устройств Win32. |
remove |
Помечает раздел как не резидентный в памяти. Только для драйверов виртуальных устройств (VxD). |
Если атрибуты не указаны, раздел содержит read и write атрибуты.
Пример
В этом примере первый раздел определяет раздел pragma и его атрибуты. Целое число j не помещается mysec , так как оно не было объявлено с помощью __declspec(allocate). Вместо этого j перейдите в раздел данных. Целое число i переходит в mysec силу атрибута __declspec(allocate) класса хранилища.
// pragma_section.cpp
#pragma section("mysec",read,write)
int j = 0;
__declspec(allocate("mysec"))
int i = 0;
int main(){}
См. также
директивы Pragma и ключевые слова __pragma и _Pragma