Bagikan melalui


section pragma

Membuat bagian dalam file OBJ.

Sintaks

#pragma section( "section-name" [ ,atribut ] )

Keterangan

Segmen dan bagian istilahmemiliki arti yang sama dalam artikel ini.

Setelah bagian didefinisikan, bagian tersebut tetap berlaku untuk kompilasi lainnya. Namun, Anda harus menggunakan __declspec(allocate), atau tidak ada yang ditempatkan di bagian .

section-name adalah parameter yang diperlukan yang menjadi nama bagian. Nama tidak boleh berkonflik dengan nama bagian standar apa pun. Lihat /SECTION untuk daftar nama yang tidak boleh Anda gunakan saat membuat bagian.

atribut adalah parameter opsional yang terdiri dari satu atau beberapa atribut yang dipisahkan koma untuk ditetapkan ke bagian . Atribut yang mungkin adalah:

Atribut Deskripsi
read Memungkinkan operasi baca pada data.
write Memungkinkan operasi tulis pada data.
execute Memungkinkan kode dijalankan.
shared Berbagi bagian di antara semua proses yang memuat gambar.
nopage Menandai bagian sebagai tidak dapat di-pageable. Berguna untuk driver perangkat Win32.
nocache Menandai bagian sebagai tidak dapat di-cache. Berguna untuk driver perangkat Win32.
discard Menandai bagian sebagai dapat dibuang. Berguna untuk driver perangkat Win32.
remove Menandai bagian sebagai bukan memory-resident. Hanya untuk driver perangkat virtual (VxD).

Jika Anda tidak menentukan atribut apa pun, bagian tersebut memiliki read atribut dan write .

Contoh

Dalam contoh ini, bagian pragma pertama mengidentifikasi bagian dan atributnya. Bilangan bulat j tidak dimasukkan ke dalam mysec karena tidak dinyatakan menggunakan __declspec(allocate). Sebagai gantinya, j masuk ke bagian data. Bilangan bulat i masuk ke mysec karena atribut kelas penyimpanannya __declspec(allocate) .

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

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

int main(){}

Baca juga

Arahan Pragma dan __pragma_Pragma kata kunci