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

Wie kann ich C-Funktionen erfolgreich aus C-Code heraus aufrufen?

Barbara Streisand
Freigeben: 2024-11-26 09:47:10
Original
527 Leute haben es durchsucht

How Can I Successfully Call C Functions from Within C   Code?

Aufrufen von C-Funktionen aus C-Code heraus: Eine umfassende Anleitung

Um eine C-Funktion in C-Code zu integrieren, könnte man die Verwendung des Standardidioms „extern „C““ in Betracht ziehen. void foo()". Allerdings kann dieser Ansatz während der Kompilierung mit g trotz erfolgreicher Kompilierung mit gcc fehlschlagen.

Um dieses Problem zu beheben, befolgen Sie die folgenden Schritte:

Schritt 1: Separate Kompilierung von C- und C-Code

Kompilieren Sie den C-Code mit:

gcc -c -o somecode.o somecode.c
Nach dem Login kopieren

Kompilieren Sie den C-Code Verwenden von:

g++ -c -o othercode.o othercode.cpp
Nach dem Login kopieren

Schritt 2: Verknüpfung über C-Linker

Kombinieren Sie die kompilierten Objekte mithilfe des C-Linkers:

g++ -o yourprogram somecode.o othercode.o
Nach dem Login kopieren

Schritt 3: Informieren Sie den C-Compiler darüber C-Header

Fügen Sie eine Deklaration für die C-Funktion in den C-Code ein, dem „extern „C“ vorangestellt ist. {}:

extern "C" {
#include "somecode.h"
}
Nach dem Login kopieren

Schritt 4: Deklaration in somecode.h

Definieren Sie die C-Funktion in der Header-Datei somecode.h:

#ifndef SOMECODE_H_
#define SOMECODE_H_

void foo();

#endif
Nach dem Login kopieren

Hinweis: Die Befehle in diesem Beispiel galten für gcc. Der grundlegende Ansatz bleibt für jeden Compiler anwendbar. Kompilieren Sie den Code separat für C und C. dann verlinke sie.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage