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语言吧.