C++中加入C编译的程序段,需要加什么字符?

来源:百度知道 编辑:UC知道 时间:2024/06/08 11:33:02
如何在C++中,加入C编译的程序段,能否举一个简单的例子。

#ifdef __cplusplus
extern "C" {
#endif

void fun(int);

#ifdef __cplusplus
}
#endif
加入extern "C"关键字是为了把下面的函数声明用C的形式来进行编译,这样就可以调用已经用C编译好的函数fun。如果不加extern "C"关键字,那么函数就采用C++的方式编译,如果fun的具体定义是用C编译的,那在link的时候可能会找不到函数,因为C和C++对函数编译产生的汇编代码不一样,简单的举个例子,就是汇编代码中产生的函数名不一样,所以会调用不到。

extern "C"
{
size_t strlen(const char*);
}

类似上面这样

什么啊。C++兼容C的几乎所有内容。

不需要,直接就行

c++兼容大部分的c语言吧.