社区
C语言
帖子详情
头文件里面声明的函数,到底加extern好还是不加extern呢?
0深水蓝0
2016-08-10 09:24:17
想征求一下大家的意见。
一些希望对望公开的函数或接口,在头文件里面写出prototype,但是在名字前面加上extern好呢,还是不加extern好呢?
希望你也说说为什么好或者为什么不好呢?
...全文
3285
10
打赏
收藏
头文件里面声明的函数,到底加extern好还是不加extern呢?
想征求一下大家的意见。 一些希望对望公开的函数或接口,在头文件里面写出prototype,但是在名字前面加上extern好呢,还是不加extern好呢? 希望你也说说为什么好或者为什么不好呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
赵4老师
2018-05-17
打赏
举报
回复
《程序员的自我修养——链接、装载与库》
justsure
2018-05-16
打赏
举报
回复
三楼说错了:在硬件方面的程序,一般会在要用到该函数的文件的头文件里面用extern,告诉编译器,这个函数的声明在别的地方 正好说反了。 应该是 告诉编译器 这个函数定义在别的地方,这里只是声明并不是定义。加个extern 帮别人,或者后来的自己区分开来,提醒这里是声明,定义在别的地方。 通常函数不加extern 变量加。感觉就像写代码会对齐一样,算是个规范问题吧。加不加都一样。不加 下次再看的时候容易纠结,这里是定义还是声明。加了就能立刻明白是声明~
lm_whales
2016-08-11
打赏
举报
回复
函数声明,正常是不写extern 的,因为那是多余的 就像 没有人会写 auto int x ;一样。 以至于 auto 现在用作别的用途了
0深水蓝0
2016-08-11
打赏
举报
回复
引用 3 楼 Manhand 的回复:
在硬件方面的程序,一般会在要用到该函数的文件的头文件里面用extern,告诉编译器,这个函数的声明在别的地方
但是为什么不直接包含这个函数的头文件呢?如果这个函数是公开的,那应该在函数实体对应的头文件里面也会有一份声明吧?
lm_whales
2016-08-11
打赏
举报
回复
函数和变量不同 函数声明,不写extern 也是 extern 并且函数声明,定义的形式不同。不写也不会造成混乱。 变量不写,可能会看成定义式 尤其是C++,对象类型。
0深水蓝0
2016-08-11
打赏
举报
回复
好的,明白了,感谢各位。
小灸舞
版主
2016-08-11
打赏
举报
回复
一般习惯不加
paschen
2016-08-11
打赏
举报
回复
通常为了简便不用加的,理解上也没什么歧义
wang0635
2016-08-11
打赏
举报
回复
我的习惯是一律不加。只是提供函数原型而已
Manhand
2016-08-11
打赏
举报
回复
在硬件方面的程序,一般会在要用到该函数的文件的头文件里面用extern,告诉编译器,这个函数的声明在别的地方
最全的C和C++语言笔试面试题汇总
最全的C和C++语言笔试面试题汇总,我大四时候找工作时候他帮上了很多忙,
里面
的题目经常考到。希望对大家有帮助。
头文件
里面
声明
的
函数
,
到底
加
extern
好还是
不
加
extern
呢?
加
不
加
都一样,默认是
EXTERN
。有时候没包含
头文件
编译也能找到
函数
,不报错只警告
头文件
里面
声明
的
函数
,
到底
加
extern
好还是
不
加
extern
呢? C/C++>C语言 收藏回复 [问题点数:20分] 0深水蓝0 等级 结帖率 79.49% 想征求一下大家的意见。 一些希望对望公开的
函数
或接口,在
头文件
里面
写出prototype,但是在名字前面
加
上
extern
好呢,还是
不
加
extern
好呢? 希望你也说说为什么好或者为什么不好呢? 2016-08-10 21:24:17 楼主 lm_whales 等级 勋章
函数
和变量不同
函数
声明
,不..
嵌入式100题(022):
函数
头文件
的
声明
前
加
extern
与
不
加
extern
有什么区别
函数
头文件
的
声明
前
加
extern
与
不
加
extern
有什么区别
声明
时
加
不
加
extern
无所谓,没区别,因为
函数
默认是
extern
属性。 在C语言中,修饰符
extern
用在变量或者
函数
的
声明
前,用来说明“此变量/
函数
是在别处定义的,要在此处引用。 ...
0031__
函数
头文件
的
声明
前
加
extern
与
不
加
extern
有什么区别
1.
声明
时
加
不
加
extern
无所谓,没区别,因为
函数
默认是
extern
属性 2.https://www.cnblogs.com/cvtoEyes/p/8664901.html
c语言
头文件
中
函数
是否
加
extern
在.h文件中
声明
的
函数
,如果在其对应的.c文件中有定义,那么我们在
声明
这个
函数
时,不使用
extern
修饰符, 如果反之,则必须显示使用
extern
修饰符.
C语言
70,014
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章