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
Barbara Streisandoriginal
2024-11-24 07:51:11602parcourir

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
  2. Compilez le C code :

    g++ -c -o othercode.o othercode.cpp

Lien :

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

g++ -o yourprogram somecode.o othercode.o

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"
}

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

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!

Déclaration:
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