C| funktion aus anderer c datei benutzen



  • Guten Abend,

    ich habe eine Frage:

    Ich möchte in unix in mein C Programm die funktion unsigned int a() aus der datei a.c einfügen. Beide c Dateien sind im gleichen verzeichnis. Wenn ich jetzt das ergebnis der funktion in eine variable in meinem programm speichern will
    also : wert = a(); dann kommt die fehlermeldung

    a undeclared(first use in this function)

    was mache ich falsch ?

    MfG
    Muffel



  • entschuldigung , das war die falsche fehlermeldung.

    ich meine die fehlermeldung

    undefined symbol: .a



  • Du musst gcc mit beiden Dateien füttern:

    gcc main.c a.c -o datei.bin
    

    Außerdem solltest du für a.c eine Header-Datei namens a.h mit dem Prototypen deiner Funktion a erstellen:

    unsigned int a ();
    

    welche du dann in deiner Datei, welche die Funktion a verwendet, mit #include "a.h" einbindest.

    Würdest du gcc nämlich mit der Option -Wall laufen lassen, würdest du die folgende Warnung erhalten:

    test.c: In Funktion »main«:
    test.c:3: Warnung: Implizite Deklaration der Funktion »a«
    


  • vielen dank! hat geklappt
    nur ich frage mich was die datei.bin soll..
    habe es ohne die datei gemacht



  • Mit der -o-Option legst Du nur den Namen der Ausgabedatei fest, wenn Du das nicht tust, heißt das Kompilat einfach nur "a.out".


Anmelden zum Antworten