根据this question我理解了将C库与C++代码链接起来的目的。现在假设如下:在头文件中声明'extern“C”'到C++共享库的效果是什么?
我有一个'.so'共享库,用C++编译器编译。头部有一个'typedef stuct'和一些函数声明。如果标题包含extern“C”声明...
#ifdef __cplusplus
extern "C"
{
#endif
// typedef struct ...;
// function decls
#ifdef __cplusplus
}
#endif
...有什么影响?具体来说,我想知道是否有任何有害的副作用,因为共享库被编译为C++,而不是C.
是否有任何理由在这种情况下有外部“C”声明?
你的库只能从C++调用,还是你需要从C调用库吗? – 2010-04-06 21:06:20