__cplusplus

http://www.cnblogs.com/stonecrazyking/archive/2006/09/23/512552.html
http://blog.openrays.org/blog.php?do=showone&tid=298
#ifdef __cplusplus
extern "C" {
#endif

省略代码N行

#ifdef __cplusplus
}
#endif

__cplusplus是cpp中的自定义宏

C语言没有函数重载机制,只是简单的函数名字而已;
C++会在编译生成的汇编码中,对函数的名字做一些处理,使函数名唯一。
extern "C",是针对C与C++对函数重载不同而出现的。使得函数名->函数ID唯一。

Bjarne Stroustrup在设计C++之时,为了支持现有的C库,在C++中尽可能的支持C,
extern "C"就是其中的一个策略。


你可能感兴趣的:(C++,c,PHP,C#,Blog)