I need to view the assembly code produced for certain C functions.

What flags should I use when compiling the C code using the g++ compiler?

有帮助吗?

解决方案

You may add the -S tag to see the assembly code.

Like for a file TEST.c, with gcc, do,

gcc TEST.c -S

clang also outputs the assembly code with a similar -S tag.

After that just look for a file with a .S extension.

其他提示

You can use the command objdump in a binary you have to see the assembler code, in linux

With gcc or g++ compiler, you can use the -S flag to see the assembly code generated.

GNU C Compiler Documentation

-S: Stop after the stage of compilation proper; do not assemble. The output is in the form of an assembler code file for each non-assembler input file specified.

By default, the assembler file name for a source file is made by replacing the suffix .c, .i, etc., with .s.

Input files that don't require compilation are ignored.

Then you have to look for the identifier of your function in the file (if the compiler has not inlined it).

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top