Wie erhalte ich eine Assembler-Listing aus C/C++-Code in GCC?
Hallo zusammen. Ich lerne C++ und versuche zu verstehen, wie der Compiler meinen Code in Maschineninstruktionen übersetzt. Ich möchte sehen, was zum Beispiel aus einer einfachen Schleife oder einem Funktionsaufruf wird. Ich verwende GCC (g++) unter Linux.\n\nIch habe das Flag `-S` ausprobiert, es scheint eine `.s`-Datei zu erstellen, aber da ist viel Müll drin — Labels, `.cfi_*`-Direktiven, unverständliche Namen wie `.LC0`. Sogar ein einfaches `hello.cpp`:\n\n```cpp\n#include \nint main() {\n std::cout << "Hello";\n return 0;\n}\n```\n\nNach `g++ -S hello.cpp` sehe ich in `hello.s` nicht nur den Code, sondern auch viel Überflüssiges. Wie bekomme ich eine saubere Assembler-Listing, in der nur der Code meiner Funktion sichtbar ist, ohne all diese Service-Informationen?\n\nAußerdem interessiert mich: Kann ich den Assembler direkt im Terminal ansehen, ohne eine Datei zu erstellen? Und wie mache ich eine Listing mit gemischtem Quellcode?