问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

extern "c"是什么意思?

发布网友 发布时间:2024-10-06 19:11

我来回答

4个回答

热心网友 时间:2024-11-02 05:39

被extern "C"修饰的变量和函数是按照C语言方式编译和连接的

这是在C++中才需要使用的,作为一种面向对象的语言,C++支持函数重载,而过程式语言C则不支持。函数被C++编译后在符号库中的名字与 C语言的不同。例如,假设某个函数的原型为:void foo(int x, int y);
该函数被C编译器编译后在符号库中的名字为_foo,而C++编译器则会产生像_foo_int_int之类的名字(不同的编译器可能产生的名字不同,但是都采用了相同的机制)。_foo_int_int这样的名字包含了函数名、函数参数数量及类型信息,C++就是靠这种机制来实现函数重载的。例如,在C++中,函数void foo(int x, int y)与void foo(int x, float y)编译产生的符号是不相同的,后者为_foo_int_float。

热心网友 时间:2024-11-02 05:39

#ifdef __cplusplus
{
}
#endif
它的作用只是“__cplusplus”标识符如果已经被#define命令定义过,则在程序编译时执行下面的程序段,#endif是与#ifdef一起的,表示如果执行#ifdef __cplusplus该程序段则执行到endif时结束。

热心网友 时间:2024-11-02 05:40

extern "C" 包含双重含义,从字面上即可得到:首先,被它修饰的目标是“extern”的;其次,被它修饰的目标是“C”的。让我们来详细解读这两重含义。
  (1) 被extern "C"限定的函数或变量是extern类型的
  extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。记住,下列语句:
  extern int a;
  仅仅是一个变量的声明,其并不是在定义变量a,并未为a分配内存空间。变量a在所有模块中作为一种全局变量只能被定义一次,否则会出现连接错误。
 
 通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。例如,如果模块B欲引用该模块A中定义的全局变量和函数
时只需包含模块A的头文件即可。这样,模块B中调用模块A中的函数时,在编译阶段,模块B虽然找不到该函数,但是并不会报错;它会在连接阶段中从模块A编
译生成的目标代码中找到此函数。
  与extern对应的关键字是static,被它修饰的全局变量和函数只能在本模块中使用。因此,一个函数或变量只可能被本模块使用时,其不可能被extern “C”修饰。
  (2) 被extern "C"修饰的变量和函数是按照C语言方式编译和连接的

热心网友 时间:2024-11-02 05:40

同关注...
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
app data文件夹放在哪里? ...管走向清晰,胆囊体积正常,壁不光滑,囊内透声尚可, 交通事故的误工费和护理费怎么算? 郑中基的《唯一的理由》是从什么英文歌改编过来的? 有一个男的在六年前唱的中文歌歌词第一句是One什么什么two什么... 长沙适合小孩看表演的地方 长沙最值得一去的演艺厅 长沙戏剧谷话剧简介 长沙戏剧谷演出介绍 长沙戏剧谷场馆介绍 各位老师 在VC++里面 extern "C" 是什么意思 能用汽车或者其他形象点... 笔记本突然变成这样 重装系统了还是老样子 ...售后说硬件没问题,重装系统几次都还是老样子,请教高手!!! 系统一开机就卡在这里,我用U盘重装系统后还是老样子,我检查了内存没问题... 西红柿炒土豆丝制作步骤 如何烹饪出一道美味又营养的西红柿炒土豆丝? 热饭的读音热饭的读音是什么 ...平时也经常有流鼻涕感!这是不是病?是什么病吃什么药!另外喉咙经常有... 联想笔记本电脑更新后开机黑屏,但可以显示360开机助手,进入程序管理... 华硕笔记本开机后黑屏,但是360和鼠标可以显示。关机也关机不了,重启也... ...台清华同方电脑有死机现象,系统重装后还是老样子,还有黑屏幕现象,请... 最近一个星期电脑老是死机,重装系统只能运行一两天,然后又变成老样子了... 电脑CPU100%刚重装了系统还是一样 电脑老是死机重装系统也老样子 电脑开机后自动重启,重装系统了还是一样。 ...每次重装完系统过一段时间又是老样子,求高手指导 我常年吐痰,而且一年四季流鼻涕 鼻子总是流鼻涕,嘴里总是吐痰,是怎么回事 冉家坝的楼盘有哪些 电脑的程序和应用程序老是没有响应 ...兼容,重装系统后挺好,但只要一关机后就开不开机了。怎么回事_百度知 ... ...它是先显示注销再关机然后又重启,用金山重装系统重装后还是一样_百... 电脑重装系统后在配置系统的时候卡了,然后就关机了,开机后一直... 你好 当天刚做好系统后 怎么用都可以 开机关机重启都正常,唯独放一宿... 硬盘分区表类型选哪个好?? 我国传统交通地理的显著特点是( ) A.南马北船 B.南船北马 C.南车北船... 我国传统交通地理的显著特点是( ) A.“南马北船” B.“北马南船” C... 我国传统交通地理的显著特点是 [ ] A.“南马北船”B.“南船北马”C... 南马山村位于哪里 ...同时按关机和加音量 出现windows似乎未正确加载 西冷冰箱和帝智哪个好 西泠冰箱质量怎么样 touch5通用里软件更新怎么取消?刚买了就自动提示让更新。到6.1.2.不... ...4s 设置通用里面有iso5.1的升级提示,不想升级,怎么去掉红色的... 实收资本列报与注册资本不一致合法吗? 为什么我的word只能用安全模式打开? 搜歌,歌词是:天上风筝在天上飞,地上人在地上追… 好像有首歌里有“天上云总在天上飞”这句歌词,请问有谁知道这首歌的名 ... 194个平方的一人一锅小火锅店按卫生管理部门要求厨房需要几个平方?_百 ... 如何评定砂浆强度