c加加中使用extern“C”作用有那些,请详细说明
时间: 2024-05-24 07:13:59 浏览: 109
C/C++中extern "C" 的作用分析
好的,我明白了。关于extern "C"在C++中的作用,主要有以下几个方面:
1. 解决C++和C语言的链接问题
由于C++支持函数重载,函数名会经过C++的名字重整,与C语言的函数名不同,所以在C++中调用C语言编写的函数时存在链接错误。而使用extern "C"可以将函数名修改为C语言的命名规则,解决链接问题。
2. 解决C++函数名重载问题
在C++中,如果两个函数名相同但参数不同,那么它们被编译器处理后的名字也是不同的。但是在某些情况下,我们可能需要使用相同的函数名,比如在链接时需要将不同目标文件中的同名函数进行合并。这时,就可以使用extern "C"将函数名统一为C语言的命名规则,避免函数名重载问题。
3. 定义C语言接口
某些操作系统或编程语言的API可能是使用C语言编写的。在C++中,如果我们需要使用这些API,我们需要使用extern "C"将这些函数的声明和定义修改为C语言的命名规则,并且将它们放在extern "C"块中,以确保正确的符号导出。这样,我们就可以在C++中使用C语言接口了。
希望可以解决您的疑惑。
阅读全文