1

非常に効率的に実行する必要があるいくつかのメソッドをCで記述しているので、自動的に生成されるアセンブリコードの一部を手動で編集したいと思います。gdbまたは「objdump-dmyfile.o」を使用してアセンブリコードを読み取る方法を知っていますが、このコードを編集する方法を教えてもらえますか?(おそらくマイナーな調整になります。)

4

3 に答える 3

3

gccには-Sスイッチがあり、アセンブリ生成フェーズの後にコンパイルを停止します。次に、結果のファイルを編集し、手動でアセンブリを呼び出します(たとえば、ガスを使用)

于 2012-12-06T05:55:37.387 に答える
2

もちろん。これは「インラインアセンブリ」と呼ばれ、ほとんどのコンパイラがサポートしています。

GCCを使用した例を次に示します。

于 2012-12-05T22:18:36.077 に答える
-1

あなたがそれをすることができる方法はありません。コンパイラはコードを直接生成します。アセンブラは必要ありません。アセンブリリストは、生成できる補助製品ですが、生成できない補助製品です。ただし、asmリストを取得して自分で組み立てることはできます。

コードの効率を向上させたい場合は、前述のように、インラインasmを使用するのが最善の方法です。または、アセンブリプロシージャを記述し、オブジェクトファイルを作成してリンクします。

于 2012-12-06T03:22:49.500 に答える