1. ホーム
  2. c

[解決済み] gccでコンパイラの最適化を無効にする方法は?

2023-03-17 23:31:15

質問

私はアセンブリ言語を学ぼうとしています。私は検索して、分解する方法を見つけました。 .c ファイルを逆アセンブルする方法を見つけましたが、それはプログラムの最適化されたバージョンを生成しているように思います。私のCファイルに対応する正確なアセンブリコードを見ることができるようにする方法はありますか。

どのように解決するのですか?

gccオプション -O は、さまざまなレベルの最適化を可能にします。使用方法 -O0 を使って無効にし -S でアセンブリを出力します。 -O3 は最高レベルの最適化です。

gcc 4.8 からは、最適化レベルである -Og が利用可能です。これは、デバッグを妨げない最適化を有効にし、標準的な編集-コンパイル-デバッグのサイクルの推奨デフォルトとなります。

アセンブリの方言をintelまたはattのいずれかに変更するには -masm=intel または -masm=att .

また、特定の最適化を手動で有効にするには -fname .

を見てみましょう。 gccマニュアル を見てください。