Hallo, ich möchte mein Projekt in mehere .c-Files aufteilen, damit es übersichtlicher wird. Wie kann ich Avr-Studio dazu bringen nur die main.c Datei zu compilieren und alle anderen .h und .c nur includieren? Unter Netbeans kann man dazu jeder Datei "exclude from build" aktivieren. Bei Studio habe unterschiedliche AVRGCC-Schalter unter Projekt Options ausprobiert, ohne Erfolg.
sasa schrieb: > Hallo, > ich möchte mein Projekt in mehere .c-Files aufteilen, damit es > übersichtlicher wird. > > Wie kann ich Avr-Studio dazu bringen nur die main.c Datei zu compilieren > und alle anderen .h und .c nur includieren? Das willst du gar nicht. Du willst haben, dass jedes einzelne *.c welches zum Projekt gehört, compiliert wird. Diese Einzelteile werden danach zum kompletten Programm zusammengelinkt. http://www.mikrocontroller.net/articles/FAQ#Ich_hab_da_mehrere_.2A.c_und_.2A.h_Dateien._Was_mache_ich_damit.3F
Danke, jetzt funktioniert es wie in der FAQ. Ich muss dann aber bei jeder .c Datei alle Bibliotheken includieren wie z.B: <inttypes.h>,<avr/io.h>, <avr/interrupt.h> ... Früher habe ich in der Haupdatei > #include teil-modul.c geschrieben und mit z.B. > gcc hauptdatei.c -o start.exe oder mit Netbeans übersetzt, man kann dan die Bibliotheken nur in der Hauptdatei definieren.
>Früher habe ich in der Haupdatei >> #include teil-modul.c >geschrieben... Das ist das schöne an C, es zwingt einen nicht zu etwas, was man nicht will, auch nicht zum sauberen Programmieren. Oliver
sasa schrieb: > Danke, > > jetzt funktioniert es wie in der FAQ. Ich muss dann aber bei jeder .c > Datei alle Bibliotheken includieren wie z.B: <inttypes.h>,<avr/io.h>, > <avr/interrupt.h> ... (Das sind keine Bibliotheken. Das sind ganz normale Include-Files die einfach nur Text enthalten. Eine Bibliothek ist etwas anderes und hat einen anderen Zweck) Eines der wichtigen Dinge in C ist es, dass jede *.c die zum Projekt gehört, für sich alleine, unabhängig von allen anderen compiliert werden kann. Und ja, damit das möglich ist, muss jede einzelne *.c all das includen, was sie benötigt.
Danke, ich werde mein Projekt-Aufbau entsprechend verändern.
Hallo Sasa, man nimmt mehrere Files um nur die neu zu übersetzen, die sich geändert haben. Das Tool das sich damit prächtig auskennt heisst "make". Wem das zu kryptisch ist, der kann eine IDE wie AVR-Studio, Eclipse, VisualStudio (würg) nehmen ... Gruß Olaf
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.