質問

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

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

リンカーを記述する必要があり、行き詰まっています。

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

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

役に立ちましたか?

解決

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

他のヒント

ゴールドリンカー(現在はbinutilsの一部)の主要な開発者の1人であるイアンランステイラーは、リンカーの仕組みに関する一連のブログを投稿しました。 こちらで見つけることができます。

2番目のリンカーとローダーの本。オブジェクト形式はカスタム形式であると述べています。フォーマットが制御可能な場合、バイトコードでELFフォーマットを使用して、新しいマシンアーキテクチャ(x86、SPARC、ARMなど)として使用することを検討できます。GNUbinutilsソースは、「アーキテクチャ」 ;。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top