25

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

コンパイラとアセンブラがあります。

リンカーを作成する必要があり、立ち往生しています。

オブジェクト形式は、バイト コード インタープリターを中心に設計されたカスタム形式であるため、既存のリンカーを実際に使用することはできません。

私の最大のハードルは、リンクされたバイナリを出力するオブジェクト コードをどのように整理するかです。現時点では、動的リンクは必要ありません。最初に静的リンクを機能させる必要があります。

4

3 に答える 3

26

ゴールド リンカー (現在は binutils の一部) の主要な開発者の 1 人である Ian Lance Taylor は、リンカーのしくみに関する一連のブログを投稿しました。ここで見つけることができます。

于 2010-12-05T00:54:25.570 に答える
25

http://linker.iecc.comは、このテーマについて私が知っている唯一の本です。

于 2009-10-21T19:26:31.967 に答える
5

私はリンカーとローダーの本をセカンドします。オブジェクト形式はカスタム形式であると述べています。フォーマットがあなたの管理下にある場合は、x86、SPARC、ARM などの新しいマシン アーキテクチャとして、バイトコードで ELF フォーマットを使用することを検討できます。GNU binutils ソースは、「アーキテクチャ」を組み込むことができるほど十分に柔軟です。 .

于 2009-10-21T20:05:02.107 に答える