假设有add.c文件如下:
int add(int x, int y)
{
return x + y;
}
为了使main.cpp能使用add函数,add.h应该为:
#ifndef ADD_H
#define ADD_H
//如果此头文件被包含在C++源程序文件中,则按照C++编译时,会对声明的函数进行名字改编,
//如果头文件所声明的函数是C语言实现的,则链接就会因为找不到名字而出错。为了使C++能
//使用C语言实现的函数,需要禁止C++编译时的名字改编,这就是extern "C" {}的作用。
#ifdef __cplusplus
extern "C"
{
#endif
int add(int, int);
#ifdef __cplusplus
}
#endif
#endif