Maison > développement back-end > C++ > Comment réussir à appeler une fonction C à partir du code C ?

Comment réussir à appeler une fonction C à partir du code C ?

Barbara Streisand
Libérer: 2024-11-24 07:51:11
original
605 Les gens l'ont consulté

How to Successfully Call a C Function from C   Code?

Appeler une fonction C à partir du code C

Appeler une fonction C à partir de C peut présenter des défis, surtout si l'approche "extern "C" void foo()" échoue en raison aux problèmes de compilation avec g . Pour remédier à cela, une stratégie différente est proposée :

Compilation :

  1. Compilez le code C :

    gcc -c -o somecode.o somecode.c
    Copier après la connexion
  2. Compilez le C code :

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

Lien :

Liez les fichiers compilés entre eux à l'aide de l'éditeur de liens C :

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

Inclusion d'en-tête :

Pour informer le compilateur C qu'un en-tête C est inclus, mettez à jour le fichier othercode.cpp avec ce qui suit :

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

somecode.h Fichier d'en-tête :

Créez un fichier d'en-tête (somecode.h) pour déclarer la fonction C :

#ifndef SOMECODE_H_
#define SOMECODE_H_

void foo();

#endif
Copier après la connexion

Remarque :

Ceci La méthode sépare la compilation en étapes C et C, suivie d'une liaison. Le choix du compilateur (gcc dans cet exemple) est flexible, mais le principe reste le même.

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!

source:php.cn
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