ちょっと興味があるんだけど。Ubuntu9.10でgcc/gdbを使用する。
オブジェクトファイルの逆アセンブルも頻繁に行うCブックを読む。1月に読んだとき、私の分解は本の分解によく似ています。今では、それはまったく異なります-おそらくより最適化されています(少なくとも私がチェックしたファイルでは、最適化されているように見えるので、アセンブリコードのいくつかの再配置に気づきました)。最初の読み取りと2番目の読み取りの間にgccに最適化オプション-O1---O3を使用しましたが、最初の読み取りの前には使用していません。
(1)最適化オプションの使用は永続的ですか、つまり、一度使用すると、スイッチを切るまで使用しますか?それは奇妙なことです(眉をひそめた男ファイルで、少なくともそのようなものは何も見られませんでした)。万が一それが真実である場合、どのようにそれらをオフにしますか?
(2)gccのアセンブリは、最近のアップグレードによって変更されましたか?
(3)同じコンパイルオプションが選択されていても、gccは(大幅に)異なるアセンブリコードを生成することがありますか?
どうもありがとう。