سؤال

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