Maison > développement back-end > C++ > Comment puis-je appeler avec succès des fonctions C à partir du code C ?

Comment puis-je appeler avec succès des fonctions C à partir du code C ?

Barbara Streisand
Libérer: 2024-11-26 09:47:10
original
584 Les gens l'ont consulté

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

Invoquer des fonctions C à partir du code C : un guide complet

Pour intégrer une fonction C dans le code C, on pourrait envisager d'utiliser l'idiome standard "extern "C" vide foo()". Cependant, cette approche peut échouer lors de la compilation avec g , malgré une compilation réussie avec gcc.

Pour résoudre ce problème, respectez les étapes suivantes :

Étape 1 : Compilation séparée du code C et C

Compilez le code C en utilisant :

gcc -c -o somecode.o somecode.c
Copier après la connexion

Compilez le code C using :

g++ -c -o othercode.o othercode.cpp
Copier après la connexion

Étape 2 : Liaison via C Linker

Combinez les objets compilés à l'aide de l'éditeur de liens C :

g++ -o yourprogram somecode.o othercode.o
Copier après la connexion

Étape 3 : Informer le compilateur C de En-tête C

Inclure une déclaration pour la fonction C dans le code C, précédée de "extern "C" {} :

extern "C" {
#include "somecode.h"
}
Copier après la connexion

Étape 4 : Déclaration dans somecode.h

Définir la fonction C dans le fichier d'en-tête somecode.h :

#ifndef SOMECODE_H_
#define SOMECODE_H_

void foo();

#endif
Copier après la connexion

Remarque : Les commandes de cet exemple étaient pour gcc. L'approche fondamentale reste applicable à n'importe quel compilateur. Compilez le code séparément pour C et C. , puis associez-les.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal