Allvarligt fel C1128

antal avsnitt överskred gränsen för objektfilformat: kompilera med /bigobj

Anmärkningar

En .obj fil överskred antalet tillåtna avsnitt, en begränsning av COFF-objektfilformatet.

Att nå den här avsnittsbegränsningen kan bero på att du använder /Gy och en felsökningsversion. /Gy gör att funktioner går in i egna COMDAT-avsnitt. I en felsökningsversion finns det ett felsökningsinformationsavsnitt för varje COMDAT-funktion.

C1128 kan också orsakas när det finns för många infogade funktioner.

Åtgärda det här felet genom att dela upp källfilen i flera källkodsfiler, kompilera utan /Gy eller kompilera med /bigobj (Öka antalet avsnitt i . Obj-fil). Om du inte kompilerar med /Gy måste du ange optimeringarna individuellt, eftersom både /O2 och /O1 antyder /Gy.

Kompilera om möjligt utan att felsöka information.

Du kan också behöva ha specifika instansieringar av mallar i separata källkodsfiler, i stället för att kompilatorn genererar dem.

När du porterar kod visas troligen C1128 först när du använder x64-kompilatorn och mycket senare med x86-kompilatorn. x64 har minst 4 sektioner associerade med varje funktion kompilerad /Gy eller inlinad från mallar eller klass-inline: kod, pdata, och felsökningsinformation, och eventuellt xdata. X86 har inte pdata.