我们经常会在C/C++程序中见到extern "C",这是一个很重要的概念。本文就来以实例形式讲述C/C++中extern "C"的作用。分享给大家供大家参考之用。具体分析如下:

作用:实现C和C++混合编程。
原理:C和C++编译器编译之后,函数名会编译成不同的名字,链接阶段名字查找会找不到目标,后面实例中会详解。
用法:
①.c文件中定义的函数,.cpp文件要调用时,该.cpp文件中要用extern "C"声明该函数;
②.反过来,.cpp文件中定义的函数,.c文件要调用,则同样要在.cpp文件中用extern "C"声明,.c文件只用普通的extern声明。
两个源文件分别编译成.o文件,再链接成执行文件。链接.o文件生成执行文件时,必须得用g++。
实例:
在源文件中声明的,没有头文件
.c文件定义的函数,.cpp文件调用:
//.c文件定义的函数
extern int myadd(int a, int b);
int myadd(int a, int b)
{
return a+b;
}
//.cpp文件调用
#include <iostream>
using namespace std;
extern "C" int myadd(int a, int b);
int main()
{
cout << myadd(3, 7) << endl;
return 0;
}
.cpp文件定义的函数,.c文件调用:
//.cpp文件定义的函数
extern "C" int myadd(int a, int b);
int myadd(int a, int b)
{
return a + b;
}
//.c文件调用
#include <stdio.h>
extern int myadd(int a, int b);
int main()
{
printf("%d\n", myadd(3, 7));
return 0;
}
如果在头文件中声明,则.c文件正常的包含该头文件,.cpp文件应该用
//.cpp文件的包含方式
extern "C"
{
#include "myHead.h"
}
的方式来包含头文件,该头文件中声明的函数都为C方式编译。
原理补充:C文件中,上述函数编译之后的函数名为类似于_myadd的形式,而CPP的编译之后函数名为类似于_myadd_int_int的形式,因为CPP要支持重载,用这种方式来区别重载的函数。
相信本文所述对大家的C++程序设计有一定的借鉴价值。
相关推荐:
SEO搜索关键词是什么意思?全方位解析关键词优化的核心要素,lol ai图片
SEO和品牌营销:如何通过搜索引擎优化打造品牌影响力,建邺seo软件
seo稿件是什么意思,seo文章写作要求 ,ai写作未来展望和展望
SEO新手必看:从零开始SEO优化的终极指南,随州网站优化技巧
seo能解决什么问题,seo会遇到哪些问题 ,挚爱花嫁ai
AI写作技巧,让创作事半功倍!
seo配置是什么,seo设置是什么 ,ai图标制作教程
SEO拓客,让您的业务飞速增长!,密云自适应网站建设
ChatGPT维护-智能时代的数字助手,如何让你的工作更高效,ai智能救援
SEO优化排-打造高效的网络营销利器,精神AI
SEO优化如何为网站做好关键词研究和优化,ai直通
ChatGPT的VPN梯子:畅享全球互联网自由,打破地域限制,一直搜Ai
ChatGPT国内版:为中国用户量身定制的智能助手,开启AI新纪元,ai文章赚钱
SEO优化:提升网站流量的终极指南,揭阳网站快速推广
seo网络推广要做什么,seo 网络推广 ,ai少女喝药
AI人工智能生成文章:开启写作新时代
SEO是如何推动企业增长的关键力量,深圳罗湖网站建设设计
SEO对策:提升网站排名与流量的必备策略,SEO入门相机平价学生
ChatGPT登录界面都不显示了?可能是这些原因导致的!,上海小学ai智能课
SEO快排还有效果吗揭秘快速排名的真相与未来趋势,ai人像波普
高效创作之路:文章AI生成器的力量
SEO王:掌控搜索引擎优化的至高法则,助力企业飞速腾飞,网站动作优化在哪里下载
SEO领站-从零到一打造成功网站排名的秘密,轻淘客seo怎设置
中文润色:提升表达的艺术,打造无懈可击的语言魅力,广告营销推广新思路论文
SEO小白必看!从零起步SEO的秘诀,轻松提升网站排名,南京网站运营优化平台
seo营销方法是什么,seo营销模式 ,ai山海
SEO赚钱:如何通过SEO技能在网络上实现财富自由,网站怎么建设推广平台
seo网站代码是什么,网站专业术语中seo意思是什么 ,拟人ai制作
GPT在什么时候被人熟知的?从技术突破到广泛应用的背后故事,ai商业新思维ai课程
优化原理:提升效率、创新突破的核心法则,印刷包装推广有哪里网站
互联网快排:助力企业网站流量爆发的秘密武器,西安网站建设找资源公司
ChatGPT为什么网址打不开?原因分析与解决方法,文档审核ai
seo规范是什么,seo行业标准 ,啊龙ai音乐
SEO中权重是什么意思?让你迅速网站排名的核心秘密!,长颈鹿智能AI点读机
ChatGPT不能用了?了解这一背后的真相及解决方法,ai恐怖头像
SEO怎么设置:让你的网站快速登上搜索引擎首页的秘密,Ai压印分色
AI工具,让工作效率翻倍:AI工具教程全面解析
SEO优化排名原理解析:如何提高网站排名,实现精准流量获取,奥迪ai售价
SEO表述:如何通过精准优化让你的内容脱颖而出,江阴网站建设怎么样啊
文字生成AI:开启创意写作的新纪元
用AI写的文章算原创吗?真相揭示,带你深度思考!
京东业绩再创新高:未来电商巨头的成功之道,如何做seo优化留痕
SEO管家:为您的网站保驾护航的智能SEO助手,网站推广作用有哪些类型
AI免费生成文字,打造创作新时代
SEO运维:提升网站排名的核心战略,邢台网站建设优化建站
Bing学术搜索结果不显示时间?如何解决这一问题,提升学术研究效率!,ai怎么参考线
seo需要懂什么源码,seo需要懂什么源码技术 ,ai 纤维
seo,seoul city ,ai精洗
AI代写文章:高效创作的新风尚
seo点击工具,seo排名点击软件推荐 ,ai狂躁