Das Aufrufen einer C-Funktion aus C kann eine Herausforderung darstellen, insbesondere wenn der Ansatz „extern „C“ void foo()“ fehlschlägt zu Kompilierungsproblemen mit g . Um dieses Problem anzugehen, wird eine andere Strategie vorgeschlagen:
Kompilierung:
Kompilieren Sie den C-Code:
gcc -c -o somecode.o somecode.c
Kompilieren Sie die C Code:
g++ -c -o othercode.o othercode.cpp
Verknüpfung:
Verknüpfen Sie die kompilierten Dateien mithilfe des C-Linkers miteinander:
g++ -o yourprogram somecode.o othercode.o
Header-Einbindung:
Um den C-Compiler darüber zu informieren, dass ein C-Header vorhanden ist enthalten, aktualisieren Sie die Datei othercode.cpp mit Folgendem:
extern "C" { #include "somecode.h" }
somecode.h Header-Datei:
Erstellen Sie eine zu deklarierende Header-Datei (somecode.h). die C-Funktion:
#ifndef SOMECODE_H_ #define SOMECODE_H_ void foo(); #endif
Hinweis:
Dies Die Methode unterteilt die Kompilierung in C- und C-Stufen, gefolgt von der Verknüpfung. Die Wahl des Compilers (in diesem Beispiel gcc) ist flexibel, das Prinzip bleibt jedoch dasselbe.
Das obige ist der detaillierte Inhalt vonWie rufe ich erfolgreich eine C-Funktion aus C-Code auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!