Global Function
-
Hey Leute,
ich weiß es ist viellei eine doofe Frage, aber ich hab gerade echt kein Plan.
Also ich habe mir eine Funktion geschrieben die einen String parsed und dann die einzelnen teile in ner Struktur speichert. So das funktioniert auch alles super.
void filter_parse_string_to_packet_struct(char *string, struct packet_filter *packet_filter) { code }
So jetzt will ich aber das es eine globale Funktion ist in dem Source file. Also das ich die Funktion auch in anderen source files aufrufen kann. Ist dies möglich wenn ja wie? Was muss ich ändern oder muss ich viellei sogar die Funktion in ein header file schreiben? Wenn ja wie müsste ich die funktion ab ändern?
-
Packe den Prototypen der Funktion in einen Header, wenn nicht schon geschehen. Den kannst du dann in anderen Übersetzungseinheiten per
#include
einbinden.
-
Was meinst du denn mit Prototypen?
einfach nur
void filter_parse_string_to_packet_struct(char *string, struct packet_filter *packet_filter);
-
Elec schrieb:
Was meinst du denn mit Prototypen?
einfach nur
void filter_parse_string_to_packet_struct(char *string, struct packet_filter *packet_filter);Ja.
-
Also ich hab das jetzt so im Header File deklariert und die Funktion wie sie aussieht in einem Source File komplett.
Jedoch wenn ich die Funktion in einem anderen Source File aufrufe, dann sagt gdb
undefined reference to this functionaber hab oben als include die header datei drinne
-
Und die Datei
filter_parse_string_to_packet_struct.c
(oder so) in das Projekt/Makefile eintragen.