Heim >Backend-Entwicklung >C++ >Wie kann ich eine C-Funktion erfolgreich aus C-Code heraus aufrufen?

Wie kann ich eine C-Funktion erfolgreich aus C-Code heraus aufrufen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-02 10:37:11701Durchsuche

How Can I Successfully Call a C Function from Within C   Code?

Aufrufen einer C-Funktion aus dem C-Code heraus

Beim Versuch, eine C-Funktion aus C aufzurufen, kann es beim „extern „C“ foo()“-Ansatz zu einer Kompilierung kommen Probleme mit g . Um diese Herausforderung zu umgehen und die C-Funktion erfolgreich auszuführen, kann der folgende Ansatz verwendet werden:

  1. Kompilieren Sie den C-Code separat mit dem Befehl:
gcc -c -o somecode.o somecode.c
  1. Kompilieren Sie den C-Code separat, und zwar auf die gleiche Weise:
g++ -c -o othercode.o othercode.cpp
  1. Verknüpfen Sie beide kompilierten Objekte mithilfe des C miteinander Linker:
g++ -o yourprogram somecode.o othercode.o
  1. Um den C-Compiler über einen eingehenden C-Header zu informieren, der die C-Funktionsdeklaration enthält, beginnen Sie Ihre othercode.cpp-Datei mit dem folgenden Code:
extern "C" {
#include "somecode.h"
}
  1. Stellen Sie sicher, dass Ihre Datei „somecode.h“ eine ähnliche Deklaration enthält zu:
#ifndef SOMECODE_H_
#define SOMECODE_H_

void foo();

#endif

Beachten Sie, dass Sie einen Compiler Ihrer Wahl verwenden können, solange Sie dem Prinzip folgen, den C- und C-Code getrennt zu kompilieren und sie anschließend miteinander zu verknüpfen.

Das obige ist der detaillierte Inhalt vonWie kann ich eine C-Funktion erfolgreich aus C-Code heraus aufrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn