为了账号安全,请及时绑定邮箱和手机立即绑定

请问c++中 extern 是什么含义?

请问c++中 extern 是什么含义?

C++
aluckdog 2019-07-14 16:08:54
请问c++中 extern 是什么含义?有一个函数的定义如下:extern double tcplib_telnet_interarrival();请问其中的extern是什么含义?谢谢!谢谢vbtraz的回答!衷心感谢你花时间回答基础问题。是不是定义成 extern 后函数在 其他的文件里也可以调用?我记得谭好强的c语言书里好像是这么写的,而且还说:其实函数的默认就是 定义成 extern,但是一般不写。我不知道c++是不是这样呢?另外,让我再看看这个函数的具体位置,可能这里声明成extern是不是有特殊的含义。。
查看完整描述

3 回答

?
森林海

TA贡献2011条经验 获得超2个赞

外部连接符号

通常是在定义接口的时候这样使用的
这样的一个声明写在头文件内,供其他文件包含. 这时候extern表示函数的实现部份不在文件内部,在连接的时候统一由连接器处理.

编译器通常会假定编译时候找不到实现部份的函数为extern形式.

当然,加了extern也可以在该文件内写实现


查看完整回答
反对 回复 2019-07-15
?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

表示是外部的, 不在这个编译单元里定义

对函数来说没必要写这个. 写不写这个都是extern的, 除非要指定导出格式, 最常见的就是多种语言混合编程经常用到 extern "C" 。
而且也不是说你写了extern就可以在别的什么文件里用它了。 每个编译单元都必须遵守“先声明后使用”的原则

查看完整回答
反对 回复 2019-07-15
  • 3 回答
  • 0 关注
  • 390 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信