in C eigene Funtktionen
-
Wie kann ich in C eigene Funtktionen
schreiben, sie irgendwo lagern und aus einem
Programm heraus zugreifen.
In der datei MeineFunktion habe ich keine
main Methode sondern nur Funtktion
Vielmehr geht es mir darum dass das z.B nicht geht.Dateiname
MeineFunktion.cvoid ausgeben()
{
printf("Servus");
}compilieren
mit gcc MeineFunktion.c -o MeineFunktion.exe funktioniert nichtPS:soetwas soll auch gehen #include "myFunctions"
was aber für eine Endung hat myFunctions
etwas *.c oder *.h oder nur *.txt
-
PS:soetwas soll auch gehen #include "myFunctions"
was aber für eine Endung hat myFunctions
etwas *.c oder *.h oder nur *.txtDas sollte bei #include "myFunctions" eine Headerdatei sein, mit der Endung *.h
Die Headerdatei brauchst Du aber nicht zu compilieren.
Achtung bei dieser Variante "myFunctions" muss die Datei myFunctions.h im gleichen Verzeichnis wie das C-Programm sein.
Gruß
Frostie
-
Wenn es ein Beispiel mehr verdeutlichen kann, dann:
Nennen wir das Programm einfach mal "MyFirstFunctionProg" und du möchtest es in mehrere Dateien auslagern.
Main.c
#include "MyHeader.h" int main () { MyFunction (); return 0; }
MyHeader.h
/* Es gibt jetzt zwei Möglichkeiten. Entweder du schreibst deine Funktion komplett hier hinein oder wir deklarieren sie nur. Auch wenn ich der Meinung bin, dass man immer nur so viele Dateien wie nötig anlegen soll, nehmen wir mal die zweite Möglichkeit. (1. Weil es deine Frage war und 2. Weil wir die Funktion im Realfall mit so einem Programm gleich mit "main ()" in eine Datei hätten schreiben würden */ void MyFunction ();
MyFunctions.c
#include <stdio.h> void MyFunction() { printf("Servus"); }
Wie du die Dateien im enteffekt nennst, sei dir selber überlassen. Wie frostie schon geschriben hatte, solltest du alle Dateien immer in einem Verzeichniss haben.
Viel Erfolg!
flyingCoder.