【C】extern "C"的作用
extern "C"的主要作用是告诉C++编译器使用C语言的链接规则来编译指定的代码。
在C++中,由于支持函数重载,编译器在编译函数时会将函数的参数类型等信息加入到函数名中,而C语言不支持函数重载,编译C语言代码的函数时通常只包含函数名,不加入参数类型。因此,当C++代码需要调用C语言编写的函数时,使用extern "C"可以确保这些函数在链接时能够被正确识别和调用。
此外,extern "C"不仅可以修饰整个代码块,也可以修饰单个函数或变量。在使用时,通常需要配合条件编译来确保在C++和C环境中都能正确使用,例如,通过使用宏定义__cplusplus,在C++环境中应用extern "C"声明,而在C环境中则不使用。