Modularer Aufbau

Gast #543887
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
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.
Gast
Fast.

Die .c-Dateien müssen noch ins makefile eingetragen werden, sonst 
meckert der linker. Am einfachsten geht das mit dem Programm MFile.

Oliver

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.