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

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

Linda Hamilton
Libérer: 2024-11-23 00:37:15
original
697 Les gens l'ont consulté

How to Successfully Call C Functions from C   Code?

Comment appeler des fonctions C à partir du code C

Appeler des fonctions C à partir de C peut être difficile, en particulier si le "C" externe est vide foo()" échoue dans l’environnement de compilation g. Pour résoudre ce problème, envisagez l'alternative suivante :

Compilation et liaison

Tout d'abord, compilez le code C en utilisant :

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

Ensuite, compilez le code C en utilisant :

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

Enfin, liez les deux fichiers entre eux à l'aide du C linker :

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

Déclaration d'en-tête

Dans le code C, incluez l'en-tête où la fonction C est déclarée. Cependant, pour vous assurer que le compilateur C reconnaît l'en-tête comme un en-tête C, utilisez la syntaxe suivante :

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

somecode.h

L'en-tête somecode.h doit déclarer la fonction C, semblable à ce qui suit :

#ifndef SOMECODE_H_
#define SOMECODE_H_

void foo();

#endif
Copier après la connexion

Supplémentaire Notes

  • Le principe de compilation et de liaison séparées reste le même quel que soit le compilateur utilisé (ex., gcc, clang).
  • Cette approche permet la coexistence du C et du code C au sein d'un seul projet.

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