Bagikan melalui


Kesalahan Fatal C1076

batas kompilator : batas timbunan internal tercapai; gunakan /Zm untuk menentukan batas yang lebih tinggi

Kesalahan ini dapat disebabkan oleh terlalu banyak simbol, atau terlalu banyak instansiasi templat. Mulai dari Visual Studio 2015, pesan ini dapat disebabkan oleh tekanan memori virtual Windows yang disebabkan oleh terlalu banyak proses build paralel. Dalam hal ini, rekomendasi untuk menggunakan opsi /Zm harus diabaikan kecuali Anda menggunakan #pragma hdrstop arahan.

Untuk mengatasi galat ini:

  1. Jika header yang telah dikompilasi sebelumnya menggunakan #pragma hdrstop direktif, gunakan opsi /Zm untuk mengatur batas memori pengkompilasi ke nilai yang ditentukan dalam pesan kesalahan C3859 . Untuk informasi selengkapnya yang menyertakan cara mengatur nilai ini di Visual Studio, lihat bagian Keterangan di /Zm (Tentukan Batas Alokasi Memori Header yang Telah Dikompretasi).

  2. Pertimbangkan untuk mengurangi jumlah proses paralel yang ditentukan dengan menggunakan opsi /maxcpucount ke MSBUILD.EXE bersama dengan opsi /MP ke CL.EXE. Untuk informasi selengkapnya, lihat Masalah dan rekomendasi Header (PCH) yang Telah Dikompretasi.

  3. Jika Anda menggunakan kompilator yang dihosting 32-bit pada sistem operasi 64-bit, gunakan kompilator yang dihosting 64-bit sebagai gantinya. Untuk informasi selengkapnya, lihat Cara: Mengaktifkan Toolset Visual C++ 64-Bit di Baris Perintah.

  4. Hilangkan file yang tidak perlu disertakan.

  5. Hilangkan variabel global yang tidak perlu—misalnya, dengan mengalokasikan memori secara dinamis alih-alih mendeklarasikan array besar.

  6. Hilangkan deklarasi yang tidak digunakan.

Jika C1076 terjadi segera setelah build dimulai, nilai yang ditentukan untuk /Zm mungkin terlalu tinggi untuk program Anda. Kurangi nilai /Zm.