2010-11-19 15 views
2

私は覚えておきます
1)。私がC++から呼び出せるようにアセンブリコードを呼び出す方法は?
2)。私はすべてのアセンブリコードを別々のファイルに保存したい。C++でアセンブリを呼び出す

私はLinux、GCC、その他のGNU開発ツールを使用しています。

あなたはそれについていくつかの参考にしてください。

答えて

4

必要な機能を宣言するC++ヘッダーファイルを作成します。これらの関数を別のファイルにアセンブリ言語で定義します。アセンブリ言語コードのオブジェクトファイルをビルドします。他のC++コードファイルでは、#includeは、アセンブリコード定義関数の宣言を含むヘッダーです。任意のC++関数として関数を呼び出し、オブジェクトファイルとリンクするときにオブジェクトファイルにリンクします。

参考までに、アセンブリ言語とC/C++の組み合わせを使用するプロジェクトのコードを読んでください。デバイスドライバはそのような機能をエクスポートできます。

+0

extern "C"なし?!? – smilingthax

+0

extern "C"が付いていないことを確認してください。あなたは.sファイルの中であなた自身の名前をつけなければならないでしょうが、とにかくABIの呼び出し側の残りの部分を実装する必要があります。 – zwol

+0

ああ、私は...あなたが必要とするものに依存する..もしCリンケージが十分であれば、それはもっと簡単だろう... – smilingthax

関連する問題