Modularer Aufbau

Gast #543887
Lesenswert?
• ▲
▼
Hallo,

habe gerade meine Projektarbeit abgeschlossen und den C Code von einem 
Dozenten abnehmen lassen, zwecks Verbesserungsvorschlägen. Er meinte 
alles prima, allerdings würde er gerne sehen, dass ich das Programm noch 
modularer aufbaue, heißt,ich soll alle Funktionen die ich jetzt nach der 
Main Function, also in einer .c Datei stehen habe in eine seperate Datei 
packen, so dass die Funktionen außerhalb der Main in einer extra Datei 
liegen. Ich arbeite mit WinAVR und arbeite noch nicht lange mit C. Kann 
mir jemand sagen, wie ich das anstellen soll und ob ich dass überhaupt 
mit WinAVR hinbekomme?
Vielen Dank.
Gast #543926
Lesenswert?
• ▲
▼
Die separaten Dateien (weiß ja nicht wieviele Funktionen du in wie viele 
Dateien packen willst) müssen auch alle die Endung .c haben. Darein 
kopierst du den ausgelagerten Code. Dann schreibst du die 
Funktionsprototypen für die in einer .c-Datei enthaltenen Funktionen in 
eine Datei mit der Endung .h
(Headerdatei). Der Name der Datei vor dem Punkt muss derselbe sein.

Zum Beispiel hast du dann:

main.c (Hauptprogramm)
functions.c(Unterprogramme)
functions.h (Prototypen der Unterprogramme)

Nun bindest du in main.c einfach noch die functions.h ein, per include:

#include "functions.h"

Fertig.

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.