/Zm
(Tentukan batas alokasi memori header yang telah dikompretasi)
Menentukan jumlah memori yang dialokasikan pengkompilasi untuk membuat header yang telah dikompilasi sebelumnya.
Sintaks
/Zm
factor
Argumen
factor
Persentase faktor penskalaan yang menentukan jumlah memori yang digunakan pengkompilasi untuk membuat header yang telah dikompilasi sebelumnya.
Argumen factor
adalah persentase dari ukuran default buffer kerja yang ditentukan kompilator. Nilai factor
default adalah 100 (persen), tetapi Anda dapat menentukan jumlah yang lebih besar atau lebih kecil.
Keterangan
Dalam versi sebelum Visual Studio 2015, kompilator C++ menggunakan beberapa timbunan diskrit, dan masing-masing memiliki batas terbatas. Saat ini, kompilator secara dinamis menumbuhkan tumpukan seperlunya hingga batas ukuran timbunan total, dan memungkinkan header yang telah dikompilasi sebelumnya untuk terdiri dari beberapa rentang alamat. Sekarang, /Zm
opsi kompilator jarang diperlukan.
Jika kompilator kehabisan ruang timbunan dan memancarkan pesan kesalahan C1060 saat Anda menggunakan /Zm
opsi kompilator, Anda mungkin telah memesan terlalu banyak memori. Pertimbangkan untuk menghapus /Zm
opsi.
Jika pengkompilasi memancarkan pesan kesalahan C1076, pesan C3859 yang menyertainya menentukan factor
argumen yang akan digunakan saat Anda mengkompilasi ulang dengan menggunakan /Zm
opsi pengkompilasi. Pesan ini hanya signifikan ketika header yang telah dikommpilasikan menggunakan #pragma hdrstop
. Dalam kasus lain, ini adalah kesalahan besar yang disebabkan oleh masalah tekanan memori virtual Windows, dan rekomendasi untuk menggunakan /Zm
opsi harus diabaikan. Sebagai gantinya, pertimbangkan untuk mengurangi jumlah proses paralel saat menggunakan /maxcpucount
opsi ke MSBUILD.EXE bersama dengan /MP
opsi ke CL.EXE. Untuk informasi selengkapnya, lihat Masalah dan rekomendasi Header (PCH) yang Telah Dikompretasi.
Tabel berikut ini memperlihatkan bagaimana factor
argumen memengaruhi batas alokasi memori. Dalam tabel, kami mengasumsikan ukuran buffer header default yang telah dikommpilasikan adalah 75 MB.
nilai factor |
Batas alokasi memori |
---|---|
10 | 7,5 MB |
100 | 75 MB |
200 | 150 MB |
1000 | 750 MB |
2000 | 1500 MB |
Cara lain untuk mengatur batas alokasi memori
Untuk mengatur /Zm
opsi pengkompilasi 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++>Baris Perintah.
Masukkan opsi pengkompilasi /Zm di kotak Opsi Tambahan.
Untuk mengatur /Zm
opsi pengkompilasi secara terprogram
- Lihat AdditionalOptions.
Baca juga
Opsi pengkompilasi MSVC
Sintaks baris perintah pengkompilasi MSVC
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk