How does one do this?
If I want to analyze how something is getting compiled, how would I get the emitted assembly code?
Use "-S" as an option. It displays the assembly output in the terminal.
Use the -S switch
g++ -S main.cpp
or also with gcc
gcc -S main.c
Also see this
If you're looking for LLVM assembly:
llvm-gcc -emit-llvm -S hello.c
I don't see this possibility among answers, probably because the question is from 2008, but in 2018 you can use Matt Goldbolt's online website https://godbolt.org
You can also locally git clone and run his project https://github.com/mattgodbolt/compiler-explorer
Here are the steps to see/print the assembly code of any C program on your Windows
console /terminal/ command prompt :
Write a C program in a C code editor like codeblocks and save it with an extention .c
Compile and run it.
Once run successfully, go to the folder where you have installed your gcc compiler and give the
following command to get a ' .s ' file of the ' .c' file
C:\ gcc> gcc -S complete path of the C file ENTER
An example command ( as in my case)
C:\gcc> gcc -S D:\Aa_C_Certified\alternate_letters.c
This outputs a ' .s' file of the original ' .c' file
4 . After this , type the following command
C;\gcc> cpp filename.s ENTER
Example command ( as in my case)
C;\gcc> cpp alternate_letters.s
This will print/output the entire Assembly language code of your C program.