Object-file erzeugen mit nicht-Standard Namen
-
Hallo,
wie kann ich aus einer .c und einer .h Datei eine .o-Datei mit selbst gewähltem Namen erzeugen? Wenn ich -o angeben will, lässt mich der Compiler nicht, weil er mehrere Eingabedateien erhält.
Vielen Dank
-
Bei welchem Compiler?
Die .h gibst du dem Compiler nicht mit.
-o bestimmt das Endprodukt. Normalerweise wird übersetzt und gelinkt.
Daher bestimmt -o den Namen des fertigen Programms.Beim gcc kannst du mit -c das linken verhindern.
-
Vielen Dank, wusste nicht, dass der Compiler die .h Datei selber findet.
-
Der Compiler fängt mit dem Preprozessor an. Der ist für die Befehle mit dem # zuständig und macht reinen Textersatz.
Da wo im Quelltext#include <Dateiname>
steht, wird die ganze Datei mit dem Namen Dateiname eingebunden.
Dem Compiler wird schon mitgeteilt, wo er nach diesen Dateien suchen soll.
Dies erfolgt meist über das Environment INCLUDE. Es geht auch als über den Kommandozeilenparamter -I.Wenn der Preprozessor fertig ist, kommt der eigentliche Compiler und macht das Assemblerfile (oder gleich das Objectfile).
Und wenn du nichts dagegen hast wird gleich noch der Linker aufgerufen und bindet die Objektfiles mit den (Standard-)Bibliotheken zusammen.