GCC - Linker-Steuerdatei

Gast #177554
Lesenswert?
• ▲
▼
Hallo !

wer kann mir sagen, wie ich dem GCC-Linker eine Steuerdatei angeben
kann, um so lange aufrufe wie z.b. das folgende abzukürzen :


avr-gcc datei_1.o datei_2.o datei_3.o datei_4.o datei_5.o datei_6.o
-Wl,-Map=..\M\mapfile.map, -o..\M\elffile.elf --cref
-mmcu=atmega64


stattdess würde ich lieber schreiben:

avr-gcc ....steuerdatei.xyz


Gruß Martin
#177556
Lesenswert?
• ▲
▼
Du kannst es so machen, wie ich:

avr-gcc.exe -xc -Os -mmcu=atmega8 -Wall -g -o main.out *.c

Damit werden alle C-Dateien im aktuellen Verzeichnis compiliert und
zusammen gelinkt.

Eine Kommandozeilenverlängerung kennt der GCC nicht, da er nicht aus
der DOS/Windows-Welt kommt.

Du kannst aber auch eine lange Zeile komplett in eine *.bat Datei
schreiben und diese dann aufrufen.

Willst Du dann noch Teile variabel halten, könne diese als Argument
übergeben werden (%1..%9).

Peter
#177558
Lesenswert?
• ▲
▼
@Matthias

Beim Keil C51 kann man in der Kommandozeile ein @ gefolgt von einem
Dateinamen angeben.

Dann wird alles in dieser Datei so behandelt, als hätte es in der
Kommandozeile gestanden.

Man kann dann in dieser Datei die Argumente untereinander schreiben,
damit es leserlicher wird.

Z.B. nutze ich es dazu, um in einer Datei alle *.obj zu sammeln und
diese Datei wird dann dem Linker übergeben:

for %%f in ( *.obj ) do echo %%f, & >> l51tmp.tmp
l51.exe @l51tmp.tmp


Peter
Gast #177559
Lesenswert?
• ▲
▼
Hi

Nur so nebenbei:
Was übergiebt Windows eigentlich beim Aufruf eines Programms mittels
*.c? Übergibt es *.c als ein Argument oder alle auf den Filter
passenden Dateien als Einzelparameter?
Hab gerade keinen nativen Windows-Compiler da um das mal zu testen.

Matthias
Gast #177560
Lesenswert?
• ▲
▼
,,Kommandozeilenverlängerung'':

Die schreibt sich unter Unix (und das haben wir hier implizit, sofern
die bash.exe benutzt wird -- make.exe benutzt ebendiese) halt

avr-gcc `cat foo.cmds`

oder wahlweise

avr-gcc $(cat foo.cmds)

Dadurch muß das (anders als unter MS-DOS) nicht jedes Tool für sich
einzeln behandeln.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.