section pragma

OBJ dosyasında bir bölüm oluşturur.

Sözdizimi

#pragma section( " bölüm adı" [ ,öznitelikler ])

Açıklamalar

Segment ve bölüm terimleri bu makalede aynı anlama sahiptir.

Bir bölüm tanımlandığında, derlemenin geri kalanı için geçerli kalır. Ancak kullanmanız gerekir __declspec(allocate), aksi durumda bölüme hiçbir şey yerleştirilmeli.

section-name , bölümün adı haline gelen gerekli bir parametredir. Ad hiçbir standart bölüm adıyla çakışmamalıdır. Bölüm oluştururken kullanmamanız gereken adların listesi için bkz /SECTION .

öznitelikleri , bölüme atanacak bir veya daha fazla virgülle ayrılmış özniteliklerden oluşan isteğe bağlı bir parametredir. Olası öznitelikler şunlardır:

Öznitelik Açıklama
read Verilerde okuma işlemlerine izin verir.
write Verilerde yazma işlemlerine izin verir.
execute Kodun yürütülmesine izin verir.
shared Bölümü, görüntüyü yükleyen tüm işlemler arasında paylaşır.
nopage Bölümü sayfalanabilir değil olarak işaretler. Win32 cihaz sürücüleri için kullanışlıdır.
nocache Bölümü önbelleğe alınamaz olarak işaretler. Win32 cihaz sürücüleri için kullanışlıdır.
discard Bölümü atılabilir olarak işaretler. Win32 cihaz sürücüleri için kullanışlıdır.
remove Bölümü bellekte yerleşik değil olarak işaretler. Yalnızca sanal cihaz sürücüleri (VxD) için.

Herhangi bir öznitelik belirtmezseniz bölümünde ve read öznitelikleri vardırwrite.

Örnek

Bu örnekte, ilk bölüm pragma bölümü ve özniteliklerini tanımlar. kullanılarak bildirildiği jiçin tamsayı mysec içine __declspec(allocate) yerleştirilemiyor. Bunun yerine veri j bölümüne gider. Tamsayıi, depolama sınıfı özniteliği nedeniyle mysec içine __declspec(allocate) gider.

// pragma_section.cpp
#pragma section("mysec",read,write)
int j = 0;

__declspec(allocate("mysec"))
int i = 0;

int main(){}

Ayrıca bkz.

Pragma yönergeleri ve __pragma ve _Pragma anahtar sözcükleri