Bagikan melalui


Kesalahan Fatal C1128

jumlah bagian melebihi batas format file objek : kompilasi dengan /bigobj

File .obj melebihi jumlah bagian yang diizinkan, batasan format file objek COFF.

Mencapai batasan bagian ini dapat menjadi hasil dari penggunaan /Gy dan build debug; /Gy menyebabkan fungsi masuk ke bagian COMDAT mereka sendiri. Dalam build debug, ada bagian info debug untuk setiap fungsi COMDAT.

C1128 juga dapat disebabkan ketika ada terlalu banyak fungsi sebaris.

Untuk memperbaiki kesalahan ini, bagi file sumber Anda menjadi beberapa file kode sumber, kompilasi tanpa /Gy, atau kompilasi dengan /bigobj (Tingkatkan Jumlah Bagian di . File Obj). Jika Anda tidak mengkompilasi dengan /Gy, Anda harus menentukan pengoptimalan satu per satu, karena /O2 dan /O1 keduanya menyiratkan /Gy.

Jika memungkinkan, kompilasi tanpa informasi penelusuran kesalahan.

Anda mungkin juga perlu memiliki instans templat tertentu dalam file kode sumber terpisah, daripada memancarkannya pada pengkompilasi.

Saat kode porting, C1128 kemungkinan akan muncul terlebih dahulu saat menggunakan pengkompilasi x64, dan lebih baru dengan kompilator x86. x64 akan memiliki setidaknya 4 bagian yang terkait dengan setiap fungsi yang dikompilasi /Gy atau inlined dari templat atau class-inline: kode, pdata, dan info debug, dan mungkin xdata. X86 tidak akan memiliki pdata.