Einbindung von Sourcecode-files!!!
-
Hallo!
Wie binde ich z.B eine Berechnung,die ich in einem anderen Sourcecode-file
mache, in mein "Haupt"-Sourcecodefile ein?Und wie übergebe ich da die Parameter?
mfg
Mini
-
so:
anderes_sourcecode_file.c:
int foo( int value ) { return 42; }
anderes_sourcecode_file.h:
int foo( int value );
haupt_sourcecode_file.c:
#include <stdio.h> #include "anderes_sourcecode_file.h" int main( ) { int result; result = foo( 20 ); printf( "result: %i\n", result ); }
die variable result in main() soll nur der Klarstellung dienen.
Greetz, Swordfish
-
Die "anderes_sourcecode_file.c" musst du außerdem noch deinem Projekt hinzufügen, damit der Compiler (oder war es der Linker?) auch weiß, wo die Funktionen sind.
-
@Anzi-C: Und was ist, wenn er keine IDE mit Projektverwaltung verwendet?
Greetz, Swordfish
-
Das mit dem Headerfile ist klar!
Das binde ich mit
#include "definitions.h"
ein. Darin stehen z.B: meine Strukturen, meine Funktionen,.....
Wenn ich aber ein 2.Sourcecode file z.B: file.c brauche.
Kann ich das nicht mit#include "file.c"
?
Aber wenn ich das so machen würde kennt die "file.c"-Datei meine
Variablen nicht?Danke!!!
-
globale variablen, zweifellos...
'82, mach mal ein beispiel fuer deinen jetzigen fall, so aehnlich wie swordfish es gemacht hat.
-
Ok, ein Bsp:
Ich habe insgesamt 3 Dateien. Ein Headerfile (definitions.h)in dem meine
Stukturen usw. sind. Und dann binde ich die mit#include "definitions.h"
in meine "Hauptdatei"(main.c) ein.Somit
hab ich alle Variablen und Srukturen in "main.c".Dann möchte ich in main.c
eine Sourcecode-Datei aufrufen die mir bestimmte Sachen berechnet.Wenn ich in dieser "neuen"-Sourcecodefile mit
#include "definitions.h"
das Headerfile einbinde hab ich zwar die Variablen vom Headerfile aber die von main.c nicht!!!!
-
benutz mal die suchfunktion und suche nach "extern".
wichtig!
struct idee // keine variable, sondern eher ein neuer "datentyp" (hier wird kein speicher reserviert) { int a; char *b; float c; }; struct idee umsetzung; // kein datentyp, sondern eine variable (hier wird speicher reserviert)
wenn du variablen zwischen dateien verwenden willst, sind das mindestens globale variablen. also ueberleg dir gut und mehrmals, warum nur globale variablen dein problem loesen koennen.
dein problem loest du am besten selbst mittels http://www.pronix.de/pronix-4.html , damit du mal ein erfolgserlebnis beim lernen hast.
-
Vielen Dank!!!
mfg
Mini