c库接口头文件中定义:
#ifdef __cplusplus
/** C++ namespace for library interfaces */
namespace XXX{
extern "C" {
#endif
...
#ifdef __cplusplus
}
}
#endif
对应cpp文件中引用时,增加 using namespace XXX;
或
#ifdef __cplusplus
extern "C" {
#endif
...
#ifdef __cplusplus
}
#endif
__cplusplus
是c++中的宏,提醒编译器使用c++的规则进行编译。
namespace关键字
C++中namespace关键字定义了一个declarative region,所以在一个namespace中声明的标志符和其他namespace中声明的同名标志符是没有名字冲突的。