extern "C" 主要用来C++ 文件和C 语言文件的互相调用
建立3个文件
cExample.h 头文件
#ifndef C_EXAMPLE_H
#define C_EXAMPLE_H
extern int add(int x, int y);
#endif
cExample.c 文件
#include "cExample.h"
int add(int x, int y){
return x + y;
}
cppFile.cpp C++ 调用文件
#include<iostream>
using namespace std;
extern "C" {
//extern int add(int, int);
#include "cExample.h"
}
int main(int argc, char* argv[]){
int x = add(3, 4);
cout << x << endl;
system("pause");
return 0;
}
编译过程为
gcc -c cExample.c -o cExample.o
gcc -c cppFile.cpp -o cppFile.o
g++ cppFile.o cExample.o -o cppFile
然后就生成了 cppFile.exe 文件,直接执行