读书人

有一段定义不清楚什么意思请大家帮小

发布时间: 2012-03-12 12:45:32 作者: rapoo

有一段定义不清楚什么意思,请大家帮我看看
#ifdef __cplusplus__
extern "C" {
#if 0
}
#endif
#endif


[解决办法]
如果定义了 __cplusplus__ 那就加上 extern "C" 这个标识。


这是表面的意思,__cplusplus__ 定义了这个标识就表示是在C++的编译器下对源码进行编译,由于c++要实现函数重载,会对函数名就行修改,但这在dll导出函数中是很不方便的,因此加上 extern "C" 告诉C++编译器,不要修改函数名。
[解决办法]

探讨

如果定义了 __cplusplus__ 那就加上 extern "C" 这个标识。


这是表面的意思,__cplusplus__ 定义了这个标识就表示是在C++的编译器下对源码进行编译,由于c++要实现函数重载,会对函数名就行修改,但这在dll导出函数中是很不方便的,因此加上 extern "C" 告诉C++编译器,不要修改函数名。

读书人网 >C++

热点推荐