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

extern "c"是什么意思

发布网友 发布时间:2022-04-29 21:36

我来回答

1个回答

热心网友 时间:2022-04-16 20:10

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语言方式编译和连接的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
单位高温防护欠缺致员工中暑如何对待 狗狗为什么爱看视频 360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 extern 在函数声明中是什么意思? c++ vc++ 中的 extern 是什么意思,具体的用法 C++里extern是什么意思 C++中extern是什么意思,用法? extern英文意思是什么? 最近又个很火的拍照软件叫什么,拍出来像电影一样 什么样的拍照软件最火 最近很火的一款照相软件叫什么名字 extern是什么意思 目前手机最好的拍照软件是什么? c语言中extern的意思是什么?? 最近很火的一款拍照软件是什么 护士长送我生日蛋糕怎么感谢发个朋友圈 我过生日老婆给我买的蛋糕我怎么发朋友圈 刚怀孕有一个月了,突然底下流血,像是来月经似的,但每次流血的量不多,是怎么回事呢 刚怀孕一个月.下面突然流血了.是什么情况啊 关于怀孕一个月下面流血,怎么回事的问题 怀孕一个月下面流血丝 怀孕一个月多 下身有流血 我生日,收到了儿子送蛋糕,女儿送面膜,老公送红包怎么发朋友圈 汪东城的这张飞行员图 图片者两个人是谁? 急!!! extern "c"是什么意思? 拼多多免密支付在哪里关闭 关于森马美邦唐狮 extern "C" int PASCAL是什么意思 西施的一生经历 这是金贤重代言什么时的宣传图 我想知道关于西施的生平事迹 (加急...) 西施的故事的内容简介 量化基金怎么选 讲讲西施的故事 介绍西施真实的故事 谁能详细的告诉我关于西施的故事? 排排网金V:如何挑选量化对冲基金? 历史上,西施、勾践、夫差的故事 排排网:如何挑选量化对冲基金? 西施的历史典故 关于西施的故事不多于50字 Bitoffer保本保收益的量化基金怎么买?