C调用C++lib文件
在C中引用C++中的函数和变量时,C++的头文件需要添加extern “C”,但是在C的文件中不能直接引用申明了extern “C”的该头文件,应该在C文件中将C++定义的extern “C”函数申明为extern类型。
源代码
//C++头文件 cppExample.h
#ifndef CPP_EXAMPLE_H
#define CPP_EXAMPLE_H
extern "C" int add( int x, int y );
#endif
//C++实现文件 cppExample.cpp
#include "cppExample.h"
int add( int x, int y )
{
return x + y;
}
/* C实现文件 cFile.c
/* 这样会编译出错:#include "cExample.h" */
extern int add( int x, int y );
int main( int argc, char* argv[] )
{
add( 2, 3 );
return 0;
}