由于C++的函数签名与C的函数签名规则不一样,前者容许函数重载,使得它的函数签名必须反映参数的类型和顺序,然后者不一样,只是一个函数名(有些编译器还要加个下划线),致使C++调用C函数或是汇编函数时,产生连接错误。因此C++扩展了"extern",当调用C函数或是使用C调用约定的汇编时,对于声明须要添加: 函数
#ifdef __cplusplus extern "C" { // 声明 } #endif