Ausgliederung Funktionen in externe Datei ?

Gast #39279
Hallo,
ist es möglich mehrere Funktionen in eine externe Datei auszugliedern, 
die dann bei Compilieren automatisch eingebunden werden? (z.B. alle 
Funktionen zur LCD Ansteuerung)
Wäre nicht schlecht, da dadurch das Programm sehr viel 
kleiner/übersichtlicher wäre.
Vielen Dank für Eure Hilfe.

Gruß
Steffen
Gast
Man strukturiert das ganze in *.c und *.h (Headerfiles)

in den H Files stehen die Funktionsdeklarartionen, in den c files die 
implementationen.

z.B.

foo.h

/* sample h file */

bool foo();

/* end of sample h file */


foo.c

/* sample c file */

#include "foo.h"

bool foo() {
return false;
}


Die main.c sieht dann so aus

/* sample main.c */

#include "foo.h"

main () {
    foo();
}

Ich hoffe ich hab nix übersehen jetzt auf die schnelle.
Gast
Es macht sinn, die Header-Files in einen Include-Guard einzuschließen:

#idndef MYHEADERFILE_H
#define MYHEADERFILE_H
//hier kommt der inhalt der header-datei
#endif // MYHEADERFILE_H

dies verhindert fehler beim mehrfachen includieren.
Gast
U. U. lohnt es auch, die Compilate der einzelnen Funktionen
in einer Bibliothek zusammenzufassen.  Der Linker holt sich
dann nur die Objektdateien aus der Bibliothek, in denen auch
etwas referenziert worden ist.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 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.