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 fehlermeldunga 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".