Forum: Compiler & IDEs GCC Code als ASM speichern


von Bruno M. (brumay)


Lesenswert?

Hallo,

ich habe diesem Artikel

http://www.mikrocontroller.net/articles/AVR-GCC-Codeoptimierung

entnommen, daß beim Compilieren eines GCC Codes automatisch eine 
temporäre asm Datei erzeugt wird, die mit dem Befehl

> avr-gcc -save-temps xxx.c -c ...

auch gespeichert werden kann.

Da ich von C kaum Ahnung habe, würde mich interessieren was dabei genau 
zu tun ist. Ich nehme mal an, daß der Befehl in das Makefile einzubauen 
ist. Wenn ja, was bedeuten die Pünktchen und gibt es dafür eine 
bestimmte Stelle im Makefile?

Oder bin ich grundsätzlich auf dem Holzweg?

Gruß Bruno

von Rolf M. (rmagnus)


Lesenswert?

Bruno M. schrieb:
> ich habe diesem Artikel
>
> http://www.mikrocontroller.net/articles/AVR-GCC-Codeoptimierung
>
> entnommen, daß beim Compilieren eines GCC Codes automatisch eine
> temporäre asm Datei erzeugt wird, die mit dem Befehl
>
>> avr-gcc -save-temps xxx.c -c ...
>
> auch gespeichert werden kann.

Damit werden alle temporären Dateien gespeichert. Wenn du einfach nur 
den Compiler-Output für den Assembler willst, gibt's auch noch den 
Kommandozeilenparameter -S.

> Da ich von C kaum Ahnung habe, würde mich interessieren was dabei genau
> zu tun ist. Ich nehme mal an, daß der Befehl in das Makefile einzubauen
> ist. Wenn ja, was bedeuten die Pünktchen

Den Rest der Compiler-Kommandozeile, wie du ihn beim normalen Aufruf 
auch hättest.

> und gibt es dafür eine bestimmte Stelle im Makefile?

Naja, die wo der Compiler aufgerufen wird.

von Bruno M. (brumay)


Angehängte Dateien:

Lesenswert?

Hallo Rolf,

erstmal danke für Deine Antwort.

> Den Rest der Compiler-Kommandozeile, wie du ihn beim normalen Aufruf
> auch hättest.
>
>> und gibt es dafür eine bestimmte Stelle im Makefile?
>
> Naja, die wo der Compiler aufgerufen wird.

Ja, wenn ich jetzt wüßte wo das genau ist;-)

Ich habe mal ein Makefile angehängt. Kannst Du mir genauer angeben, wo 
das reingehört?

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Bruno M. schrieb:
> Ja, wenn ich jetzt wüßte wo das genau ist;-)

So schwer ist das überhaupt nicht. Öffne Dein Makefile mit einem Editor, 
suche nach avr-gcc.

Du wirst genau 2 Stellen finden. In der Mitte der Datei den 
Compiler-Aufruf, weiter unten am Ende den Linker-Aufruf.

Also musst Du den Kandidaten in der Mitte der Datei bearbeiten und die 
Option -save-temps zu den anderen Optionen (wie -funsigned-char) 
hinzufügen.

von Bruno M. (brumay)


Lesenswert?

Hallo Frank,

herzlichen Dank für den Tip, ich habe es tatsächlich geschafft!

Gruß Bruno

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.