Gast
#1111043
G' Morgen, ich hab' da mal eine simple Frage zum AVR-Studio. Lässt sich der Assemblercode auf mehrere Dateien aufteilen? Also ähnlich wie die "units" bei Delphi? lg Torsten
|
Anzeige
|
Quellcode aufteilen
Gast
#1111043
G' Morgen, ich hab' da mal eine simple Frage zum AVR-Studio. Lässt sich der Assemblercode auf mehrere Dateien aufteilen? Also ähnlich wie die "units" bei Delphi? lg Torsten
Gast
#1111050
in C gehts. Du musst leidiglich zu jeder Quellcode-Datei eine Header-Datei schreiben und die dann in den anderen einbinden, falls du deren Funktionen nutzen willst. Bei ASM weiss ichs nicht über .include "m8def.inc" Kannst du einen externe Datei einbinden...
Gast
#1111133
Also kann ich in der Datei "m8def.inc" zusätzlich Assemblercode hinterlegen? lg Torsten
Gast
#1111137
Ja, die wird dann vor dem Assemblieren eingefügt.
Gast
#1111138
man kann beliebig viele include Dateien einfügen.
Gast
#1111149
Okay, vielen Dank. lg Torsten Dabei ist zu beachten, dass ein "include" im wesentlichen einem Copy-Paste entspricht. Der Inhalt der angegebenen Datei wird an die Stelle des includes kopiert. Eine Aufteilung im Sinne von separaten Compilier/Assemblier-Einheiten ist das noch nicht. Sonst würde dann ja auch ein Linker benötigt.
Gast
#1111306
Normalerweise werden getrennte "Module" auch getrennt assembliert bzw. kompiliert. Daraus entstehen sogenannte Objekt-Dateien welche der Linker dann zu einer vollständigen Binärdatei zusammen baut. Der beim AVR-Studio V4.12 (und vermutlich auch im aktuellen V4.15) mitgelieferte Assembler unterstützte allerdings nicht das assemblieren in getrennte Objektmodule. Eine Aufteilung wie bei der klassischen C-Programmierung ist also nicht möglich. Allerdings kann man über die 'include'-Direktive auch andere Quelldateien direkt in die Hauptdatei einbinden. Für den Assembler wirkt das dann wie per Copy&Paste reinkopierter Code. Er 'sieht' also nicht die einzelnen Dateien sondern nur eine einzige, riesige Datei mit Quellcode. Historisch war so etwas eher von Nachteil da ja bei jeder noch so kleinen Änderung der gesamte Code neu assembliert werden musste, was auf den älteren Entwicklersystemen durchaus mal eine Kaffeepause bedeuten konnte. Heute dürften reine Assembler-Projekte (für die AVRASM2 ja gedacht ist) kaum noch eine Größe erreichen, bei der man eine spürbare Zeit auf den Assembler warten muss. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|