Ich versuche mir C-Programmierung zu lehren und ich benutze DevC++ für meine IDE unter Windows XP. Ich bin ein wenig verwirrt über die richtige Art, meine eigenen Header-Dateien aufzurufen.C-Header-Dateien - Korrekter Weg zum Einbinden
Ich habe meine Datei Hauptquelle genannt main.c und eine separate Datei für Funktionen myFunctions.c, die ich bin in main.c mit ‚enthalten‚myFunctions.h‘ mit allen meinen Funktionsprototypen mit Wohnsitz in diesem Kopf genannt Datei.
myFunctions.c enthält zwei Funktionen namens showDate() und eine namens showScreen() und beide Funktionen können aus main.c alle gut und gut aufgerufen werden.
Meine Probleme begannen, als ich versuchte, showDate() aus showScreen() aufzurufen, und während der Kompilierung/Verknüpfung beschwerte ich mich, weil ich keinen Prototyp in myFunctions.c für showDate() hatte.
Was ich wissen möchte ist, welche der folgenden muss ich tun?
umfassen "myFunctions.h" inside myFunctions.c
- der Prototyp sowohl Deklarieren in myFunctions.h und myFunctions.c
- den Prototyp deklarieren gerade erst in myFunctions.c
All das scheint den Compilerfehler zu korrigieren und erlaubt mir, den Funktionsbot von main.c und innerhalb von myFunctions.c aufzurufen, aber ich kann keine definitive Quelle finden, die die korrekte Prozedur ist.
Vielleicht überlegen Sie sich, bevor Sie zwischen # 1 und # 3 entscheiden. Verwenden Sie # 1, wenn Sie diese Funktion aus einer anderen .c-Datei aufrufen müssen. Verwenden Sie # 3, wenn die Funktion außerhalb der lokalen Datei nicht benötigt wird. Auf diese Weise reduzieren Sie Unordnung in Ihren Header-Dateien und können sie wirklich als Schnittstellendefinition verwenden. –
Rechts. Funktionen, die von woanders aufgerufen werden, sollten sich in der .h-Datei befinden. Funktionen, die intern sind, sollten in der C-Datei als statisch und als Prototyp deklariert werden. Das gibt C eine dringend benötigte Modularität. –