extern“C”如何在C ++中工作?
这个问题在这里已经有了答案:
这可能不是这样,但更像是:
#ifdef __cplusplus
extern "C" {
#endif
//some includes or declarations
#ifdef __cplusplus
}
#endif
它告诉编译器使用C
名称来改变指令内部声明的内容。
你现在的方式是:
#ifdef __cplusplus
extern "C" {}
#endif
只是死代码。
它用于通知编译器禁用大括号内定义的函数的C ++名称修改。 http://en.wikipedia.org/wiki/Name_mangling
Extern "C"
- 通知编译器,指出的函数是用C风格编译的。