Delen via


Fatale fout C1076

compilerlimiet: interne heaplimiet bereikt; /Zm gebruiken om een hogere limiet op te geven

Opmerkingen

Deze fout kan worden veroorzaakt door te veel symbolen of te veel sjabloon-instantiƫringen. Vanaf Visual Studio 2015 kan dit bericht worden veroorzaakt door een te veel parallelle build-processen vanwege een druk op het virtuele Windows-geheugen. In dit geval moet de aanbeveling voor het gebruik van de optie /Zm worden genegeerd, tenzij u een #pragma hdrstop richtlijn gebruikt.

Los deze fout als volgt op:

  1. Als uw vooraf gecompileerde header gebruikmaakt van een #pragma hdrstop instructie, gebruikt u de optie /Zm om de geheugenlimiet van de compiler in te stellen op de waarde die is opgegeven in het foutbericht C3859 . Zie de sectie Opmerkingen in /Zm (Vooraf gecompileerde limiet voor geheugentoewijzing van headers opgeven) voor meer informatie over het instellen van deze waarde in Visual Studio.

  2. Overweeg het aantal parallelle processen te verminderen dat is opgegeven met behulp van de optie /maxcpucount om te MSBUILD.EXE in combinatie met de optie /MP om te CL.EXE. Zie Problemen en aanbevelingen voor vooraf gecompileerde headers (PCH) voor meer informatie.

  3. Als u de 32-bits gehoste compilers op een 64-bits besturingssysteem gebruikt, gebruikt u in plaats daarvan de 64-bits gehoste compilers. Zie Instructies over het inschakelen van een 64-bits Visual C++-toolset op de opdrachtregel voor meer informatie.

  4. Verwijder overbodige include-bestanden.

  5. Overbodige globale variabelen elimineren, bijvoorbeeld door geheugen dynamisch toe te wijzen in plaats van een grote matrix te declareren.

  6. Verwijder ongebruikte declaraties.

Als C1076 direct na het starten van de build plaatsvindt, is de opgegeven waarde voor /Zm waarschijnlijk te hoog voor uw programma. Verminder de /Zm-waarde .