Hi Leute, ich benutze avrdude und möchte das Makefile anpassen. Ich will prüfen was der Präprozessor aus manchen meiner defines macht. Wie muss ich das Makefile ändern, damit ein File erzeugt wird, welches mir den Programmcode nach durchlauf des Präprozessors anzeigt? Schonmal vielen Dank für eure Hilfe!
Es würde mir erstmal auch reichen irgendwie anders zu prüfen was der Präprozessor macht!!
Hallo, es wäre hilfreich zu wissen, was Du vom Präprozessor erwartest, und wie Du das umgesetzt hast. Ein nur "nach Präprozesor-File" gibt es glaub ich nicht, könnte mich aber irren. Du könntest dir den Disasembly anschauen... Grüße
"avrdude" (was soll das eigentlich mit der Frage zu tun haben?) und "Makefile" klingt nach gcc. Die einfachste Variante ist es dann, den Compiler-Optionen ein -save-temps hinzuzufügen. Zu jeder C-Datei bekommst du dann eine s- und eine i-Datei. Letztere enthält den Source nach der Bearbeitung durch den Präprozessor.
Der Präprozessor ist m.E. im GCC intergriert, arbeitet also ohne Tempfile. Aber der Aufruf "gcc -E" produziert den Output des Präprozessors. Also sowas wie gcc -E ...options... source.c >source.tmp
Ok, --save-temps hat die gleiche Wirkung. Es gibt eben mehrere Wege nach Rom.
Super!! Vielen Dank! im Makefile habe ich es mit -E nicht hinbekommen. --save-temps funktioniert. -E wird wahrscheinlich in der Kommandozeile gehen... Trotzdem funktioniert prima! Vielen Dank!
Thomas Frosch schrieb: > im Makefile habe ich es mit -E nicht hinbekommen. --save-temps > funktioniert. > > -E wird wahrscheinlich in der Kommandozeile gehen... --save-temps ist genauso ein Kommandozeilenparameter wie -E - oder wo hast Du das hingeschrieben? Aus der gcc manpage: -E Stop after the preprocessing stage; do not run the compiler proper. The output is in the form of preprocessed source code, which is sent to the standard output. Input files which don't require preprocessing are ignored. LaTeX-Syntax
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.