2

「fprint」のようなものを実装する小さなライブラリを書いたとします。私に MMIX を教えてくれる本 (Das MMIX-Buch、ドイツ語) は常に lib 全体を新しいプログラムにコピーしますが、私はこのアプローチが嫌いです。ライブラリを 1 つのオブジェクト ファイルにアセンブルし、メイン プログラムを別のオブジェクト ファイルにアセンブルして、これら 2 つをリンクする方法はありますか? これを行う方法?

4

2 に答える 2

1

mmix リポジトリ www.mmix.cs.hm.edu を確認してください。サンプル フォルダに 2 つの例があります。 C ライブラリとリンクされた .c と 2 番目の例では、異なる c ファイルから MMIX の MMIX 実行可能ファイルをリンクし、いくつかのアセンブラ ファイルと C ライブラリをリンクして、MMIX 用の fat32 ファイル システムを実装する MMIX で MMIX を実行します。マーティン

于 2011-05-20T16:14:44.403 に答える
0

簡単なインターネット検索から学んだことによると、mmix ツールは通常の gcc および binutils パッケージを使用します。そのため、複数のオブジェクト ファイルや標準の静的ライブラリでさえも「そのまま機能する」と期待しています。あなたが遭遇した正確な問題は何だろうか。

gcc -c lib.c -o lib.o
gcc -c main.c -o main.o
gcc lib.o main.o -o program

編集: asm ソースの場合も明らかに同様で、.s または .S 拡張子を使用するだけです。もちろん、gcc がバックグラウンドで使用する適切なアセンブラーおよびリンカー コマンドも使用できます。コマンド ライン オプション -v を使用すると、それらが表示されます。

于 2011-02-20T22:52:50.873 に答える