extern “C“的作用

3 篇文章 0 订阅

extern "C"是一种用于在C++代码中声明C语言风格的函数接口的方法。在C++中,函数的名称会经过名称修饰(name mangling),以便支持函数重载和其他特性。然而,C语言没有名称修饰,因此在 C++ 代码中调用C语言函数时,需要使用extern "C"来告诉编译器不要对函数名进行修饰。

如果在C++代码中需要调用一个由C语言编写的函数时,可以使用extern "C"来声明这个函数,以确保编译器不会对函数名进行修饰,从而使得C++代码可以正确地调用这个C函数。

如果需要编写C++代码,并且希望这些代码能够与纯C代码进行兼容时,通常也会使用extern "C"来确保C++代码中的函数接口与C代码兼容。在这种情况下,会在C++代码中使用extern "C"来声明 C++函数,以便在链接时能够正确地与C代码进行交互。

示例代码如下,

#ifdef __cplusplus
extern "C" {
#endif

void my_c_function();

#ifdef __cplusplus
}
#endif

在示例代码中,extern "C"包裹了C函数的声明,这样在C++代码中包含这个头文件时,编译器就知道不要对my_c_function进行名称修饰。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chen_znn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值