CodeBlock und __debugbreak()
-
Hallo,
ich benutze CodeBlock und g++ als Compiler.
Nun versuche ich diesen Code ohne zusätzliche Headern zu kompilieren
int main() { __debugbreak(); return 0; }
aber bekomme dann folgende Fehlermeldung:
In function `int main()':| error: `__debugbreak' was not declared in this scope| warning: unused variable '__debugbreak'| ||=== Build finished: 1 errors, 1 warnings ===|
Ich habe auch schon die Header <windows.h> oder <cmnintrin.h> inkludiert.
http://msdn.microsoft.com/en-us/library/ms253526.aspx?topic=306117
Ohne Erfolg.Allerdings verstehe ich auch nicht so ganz warum es das Makro __debugbreak gibt - DebugBreak tut's doch auch.
Läuft genau dieser Code nur mit einem Microsoft Compiler?
Gruß
Markus
-
'__debugbreak' ist einfach kein C++! Das ist eine Erweiterung vom Visual C++-Compiler. Andere Compiler kennen das eben nicht. Punkt.
Du kannst per Inline-Assembler aber einen Interrupt senden, das ist dasselbe:
int main() { asm "int $3"; }
Dieser Interrupt ist aber AFAIK auch nicht standardisiert. Zumindest unter Windows und unter OS X klappt das aber.
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.