测试代码的GCC优化设置



我喜欢阅读小型测试程序的ASM输出,但是如果我打开偶数-O,它会硬编码一些堆栈声明的常量,并且在某种程度上破坏objdump输出。我需要什么设置才能看到ASM,就好像我使用动态内存而不是常量一样?

gcc -S -fverbose-asm your-file.c -o out-asm-file.s

不要使用常量。从命令行或磁盘文件中读取值

否则,如果你有像int value = 3这样的代码,编译器将总是将value替换为3。

最新更新