2014-03-28 72 views
1

我喜歡讀取小測試程序的ASM輸出,但是如果我打開-O,它會硬編碼某些堆棧聲明的常量,並且會稍微打破objdump輸出。 我需要什麼設置才能看到ASM,就像我使用動態內存而不是常量一樣?測試代碼的GCC優化設置

回答

0

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

0

請勿使用常數。從命令行或從磁盤文件讀取值。

否則,如果你有代碼int value = 3編譯器將總是只要它可以替換值3。

+0

我以爲我會這樣做,但也許你是對的,它會更好地反映真實的用法。但爲了爭辯... – user2986109