12

バイトコードを出力するC用のコンパイラを作成しました。この理由は、複数のプラットフォームで動作する組み込みプラットフォーム用のアプリケーションを作成できるようにするためです。リンカーを書く方法

私はコンパイラとアセンブラを持っています。

私はリンカーを書く必要があります。

オブジェクト形式は、バイトコードインタープリタの周りに設計されたカスタムのものなので、実際には既存のリンカーは使用できません。

私の最大のハードルは、リンクされたバイナリを出力するオブジェクトコードを編成する方法です。 動的リンクは現時点では必要ありません。 静的リンクを最初に動作させる必要があります。

答えて

4

2番目のリンカーとローダーの本です。あなたは、あなたのオブジェクトフォーマットがカスタムフォーマットであると述べています。形式があなたの管理下にある場合は、新しいマシンアーキテクチャー、x86、SPARC、ARMなどのバイトコードでELF形式を使用することを検討できます。GNU binutilsソースは十分に可鍛性があり、 。

12

金リンカー(現在binutilsの一部)の主な開発者の一人であるIan Lance Taylorは、リンカーの仕組みに関する一連のブログを投稿しました。それはhereです。

関連する問題