猿问

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

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

有一个函数的定义如下:
extern double tcplib_telnet_interarrival();

请问其中的extern是什么含义?
谢谢!
谢谢vbtraz的回答!衷心感谢你花时间回答基础问题。

是不是定义成 extern 后函数在 其他的文件里也可以调用?

我记得谭好强的c语言书里好像是这么写的,而且还说:其实函数的默认就是 定义成 extern,但是一般不写。

我不知道c++是不是这样呢?

另外,让我再看看这个函数的具体位置,可能这里声明成extern是不是有特殊的含义。。

aluckdog
浏览 391回答 3
3回答

森林海

外部连接符号通常是在定义接口的时候这样使用的这样的一个声明写在头文件内,供其他文件包含. 这时候extern表示函数的实现部份不在文件内部,在连接的时候统一由连接器处理.编译器通常会假定编译时候找不到实现部份的函数为extern形式.当然,加了extern也可以在该文件内写实现

一只名叫tom的猫

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