/Zp (Perataan Anggota Struct)
Mengontrol bagaimana anggota struktur dikemas ke dalam memori dan menentukan pengemasan yang sama untuk semua struktur dalam modul.
Sintaks
/Zp
[1
16
|||8
|2
4
]
Keterangan
Opsi ini /ZpN
memberi tahu pengkompilasi tempat menyimpan setiap anggota struktur. Pengkompilasi menyimpan anggota setelah yang pertama pada batas yang lebih kecil dari ukuran jenis anggota, atau batas N-byte.
Nilai pengemasan yang tersedia dijelaskan dalam tabel berikut:
Argumen /Zp | Efek |
---|---|
1 | Mengemas struktur pada batas 1 byte. Sama seperti /Zp . |
2 | Mengemas struktur pada batas 2 byte. |
4 | Mengemas struktur pada batas 4-byte. |
8 | Mengemas struktur pada batas 8 byte (default untuk x86, ARM, dan ARM64). |
16 | Mengemas struktur pada batas 16 byte (default untuk x64 dan ARM64EC). |
Jangan gunakan opsi ini kecuali Anda memiliki persyaratan perataan tertentu.
Peringatan
Header C/C++ di Windows SDK mengasumsikan perataan default platform digunakan. Jangan ubah pengaturan dari default saat Anda menyertakan header Windows SDK, baik dengan menggunakan /Zp
pada baris perintah atau dengan menggunakan #pragma pack
. Jika tidak, aplikasi Anda dapat menyebabkan kerusakan memori saat runtime.
Anda juga dapat menggunakan pack
pragma untuk mengontrol pengemasan struktur. Untuk informasi selengkapnya tentang perataan, lihat:
Untuk mengatur opsi pengkompilasi ini di lingkungan pengembangan Visual Studio
Buka kotak dialog Halaman Properti proyek. Untuk detailnya, lihat Mengatur pengkompilasi C++ dan membuat properti di Visual Studio.
Pilih halaman properti Properti>Konfigurasi C/C++>Code Generation.
Ubah properti Perataan Anggota Struct.
Untuk mengatur opsi pengkompilasi ini secara terprogram
- Lihat StructMemberAlignment.
Lihat juga
Opsi Pengkompilasi MSVC
Sintaks Baris Perintah Pengkompilasi MSVC