【发布时间】:2014-03-28 16:29:03
【问题描述】:
我喜欢阅读小型测试程序的 ASM 输出,但如果我打开 even -O,它会硬编码一些堆栈声明的常量,并在某种程度上破坏 objdump 输出。 我需要什么设置才能像使用动态内存而不是常量一样查看 ASM?
【问题讨论】:
标签: gcc optimization assembly
我喜欢阅读小型测试程序的 ASM 输出,但如果我打开 even -O,它会硬编码一些堆栈声明的常量,并在某种程度上破坏 objdump 输出。 我需要什么设置才能像使用动态内存而不是常量一样查看 ASM?
【问题讨论】:
标签: gcc optimization assembly
gcc -S -fverbose-asm your-file.c -o out-asm-file.s
【讨论】:
不要使用常量。从命令行或磁盘文件中读取值。
否则,如果您有类似 int value = 3 的代码,编译器将总是尽可能将 value 替换为 3。
【讨论】: