Question

J'ai écrit un compilateur pour C qui génère du code octet. La raison en était la possibilité d'écrire des applications pour une plate-forme intégrée s'exécutant sur plusieurs plates-formes.

J'ai le compilateur et l'assembleur.

Je dois écrire un éditeur de liens et je suis bloqué.

Le format de l’objet est un format personnalisé, conçu autour de l’interprète de code octet, je ne peux donc pas vraiment utiliser les éditeurs de liens existants.

Mon plus gros obstacle est de savoir comment organiser le code objet pour générer le binaire lié. La liaison dynamique n'est pas nécessaire pour le moment. Je dois d'abord faire fonctionner la liaison statique.

Était-ce utile?

La solution

http://linker.iecc.com est le seul livre que je connaisse sur ce sujet.

Autres conseils

Ian Lance Taylor, l'un des principaux développeurs de l'éditeur de liens Gold (qui fait maintenant partie de binutils), a publié une série de blogs sur le fonctionnement des linkers. Vous pouvez le trouver ici .

J'appuie le livre Linkers and Loaders. Vous déclarez que votre format d'objet est un format personnalisé. Si le format est sous votre contrôle, vous pouvez envisager d'utiliser le format ELF avec votre bytecode en tant que nouvelle architecture de machine, à la fois x86, SPARC, ARM, etc. Les sources de GNU binutils sont suffisamment malléables pour vous permettre d'intégrer votre "architecture". ;.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top