fatal error C1001: An internal error has occurred in the compiler.
-
Nabend
Habe in nem Projekt das bislang funktionierte den PerformanceQueryCounter eingebaut um eine Funktion zu testen. Das ergibt aber "Optimizer Probleme
Folgenden Code hab ich zugefügt:
#include <windows.h> ... int main() { ... unsigned __int64 frequency; unsigned __int64 current_ticks; unsigned __int64 start_ticks; QueryPerformanceFrequency( (LARGE_INTEGER*)&frequency ); QueryPerformanceCounter( (LARGE_INTEGER*)&start_ticks ); ObjectFoo Foo; for( int i = 0; i < 10000; ++i ) { Foo.DoFoo(); } QueryPerformanceCounter( (LARGE_INTEGER*)¤t_ticks ); std::cout << "Elapsed time: " << ( current_ticks - start_ticks ) / frequency << std::endl; ... }
Die Fehlermeldung hört sich recht böse an:
Problembericht senden
Microsoft (R) C/C++ Optimizing Compiler hat ein Problem festgestellt und muss beendet werden.
...Compiler Output:
c:\..\msvs8\vc\include\list(342) : fatal error C1001: An internal error has occurred in the compiler.
(compiler file 'msc1.cpp', line 1392)
To work around this problem, try simplifying or changing the program near the locations listed above.
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more informationWas zum T* ist das?
Könnt ihr mir helfen bitte?
-
Ok, Foo und DoFoo() sind nicht grad Fliegengewichte.
Bei jedem zweiten Rebuild gehts komischerweise
-
Inzwischen hab ich mit paar Änderungen den Fehler beim Beenden:
Run-Time Check Failure #2 - Stack around the variable 'start_ticks' was corrupted.
Nun hab ich das Objekt Foo auf'n Heap geschmissenmit Zeiger und new,
derselbe Fehler.Ich bin echt etwas Ratlos, schade das niemand da ist..
-
Also erstens kannst du nicht erwarten, dass man dir innert 30 Minuten eine Antwort liefert. Bzw. muss man sich halt in einem Forum mal ein wenig gedulden. Zudem, wenn du mal das C1001 in die MSDN Suche getippt hättest, wüsstest wo das Problem liegt und wie man es umgehen kann.
- Link: http://msdn2.microsoft.com/en-US/library/y19zxzb2.aspx
- Link: http://msdn2.microsoft.com/en-US/library/chh3fb0k.aspx
Grüssli
-
Das ist ärgerlich, ich habe gar keine Optimierungsoptionen gesetzt, denn es ist ja das Debug Build.
Manchmal kommt auchFatal Error C1002
compiler is out of heap space in pass 2The compiler ran out of dynamic memory space during its second pass, probably due to a program with too many symbols or complex expressions.
Was wohl heist das ich zuwenig Arbeitsspeicher zum Compilieren hab.
Ist das möglich? Include die Boost Library und den Windows Headerps: Und sorry fürs ungeduldig sein, hab nicht so oft Zeit zum coden. Und wenn ich dann nen ganzen Abend mit nem Fehler vertue, den jemand hier vielleicht in 5 Minuten erledigt hätte, ist das etwas doof..