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.c

    void ausgeben()
    {
    printf("Servus");
    }

    compilieren
    mit gcc MeineFunktion.c -o MeineFunktion.exe funktioniert nicht

    PS:soetwas soll auch gehen #include "myFunctions"
    was aber für eine Endung hat myFunctions
    etwas *.c oder *.h oder nur *.txt



  • @tauboga:

    PS:soetwas soll auch gehen #include "myFunctions"
    was aber für eine Endung hat myFunctions
    etwas *.c oder *.h oder nur *.txt

    Das 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.


Log in to reply