Errore irreversibile C1128

numero di sezioni superato limite di formato di file oggetto : compilazione con /bigobj

Un file .obj ha superato il numero di sezioni consentite, una limitazione del formato di file oggetto COFF.

Raggiungere questa limitazione di sezione può essere il risultato dell'uso di /Gy e di una compilazione di debug; /Gy fa sì che le funzioni entrino nelle rispettive sezioni COMDAT. In una compilazione di debug è disponibile una sezione delle informazioni di debug per ogni funzione COMDAT.

C1128 può anche essere causato quando sono presenti troppe funzioni inline.

Per correggere questo errore, dividere il file di origine in più file di codice sorgente, compilare senza /Gy o compilare con /bigobj (aumentare il numero di sezioni in . File Obj).. Se non si esegue la compilazione con /Gy, sarà necessario specificare singolarmente le ottimizzazioni, poiché /O2 e /O1 implicano entrambi /Gy.

Se possibile, compilare senza eseguire il debug delle informazioni.

Potrebbe anche essere necessario disporre di istanze specifiche di modelli in file di codice sorgente separati, invece di creare un'istanza del compilatore.

Quando si esegue la conversione del codice, è probabile che venga visualizzato prima C1128 quando si usa il compilatore x64 e molto più avanti con il compilatore x86. x64 avrà almeno 4 sezioni associate a ogni funzione compilata /Gy o inlined da modelli o classi inline: codice, pdata e informazioni di debug, ed eventualmente xdata. X86 non avrà pdata.