Wie schreibe ich einen Linker?

Lesezeit: 1 Minute

Benutzer-Avatar
Der große Funke

Ich habe einen Compiler für C geschrieben, der Bytecode ausgibt. Der Grund dafür war, Anwendungen für eine eingebettete Plattform schreiben zu können, die auf mehreren Plattformen läuft.

Ich habe den Compiler und den Assembler.

Ich muss einen Linker schreiben und stecke fest.

Das Objektformat ist ein benutzerdefiniertes Format, das um den Bytecode-Interpreter herum entwickelt wurde, sodass ich keine vorhandenen Linker wirklich verwenden kann.

Meine größte Hürde besteht darin, den Objektcode zu organisieren, um die verknüpfte Binärdatei auszugeben. Eine dynamische Verknüpfung ist derzeit nicht erforderlich. Ich muss zuerst die statische Verknüpfung zum Laufen bringen.

Ian Lance Taylor, einer der Hauptentwickler des Gold-Linkers (jetzt Teil von binutils), hat eine Reihe von Blogs darüber veröffentlicht, wie Linker funktionieren. Du kannst es finden hier.

  • Die obigen Links führen zum ersten Beitrag der Serie. Eine Liste aller Beiträge finden Sie unter airs.com/blog/index.php?s=linkers

    – Nico Burns

    6. September 2018 um 12:37 Uhr

http://linker.iecc.com ist das einzige Buch, das ich zu diesem Thema kenne.

Ich unterstütze das Buch Linker und Loader. Sie geben an, dass Ihr Objektformat ein benutzerdefiniertes ist. Wenn das Format unter Ihrer Kontrolle steht, können Sie das ELF-Format mit Ihrem Bytecode als neue Maschinenarchitektur verwenden, a la x86, SPARC, ARM usw. Die GNU-Binutils-Quellen sind ausreichend formbar, damit Sie Ihre “Architektur” integrieren können. .

1352710cookie-checkWie schreibe ich einen Linker?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy