中易网

什么是外部函数?什么是内部函数?

答案:1  悬赏:40  
解决时间 2021-01-17 14:28
什么是外部函数?什么是内部函数?
最佳答案
定义在当前翻译单元(一般是.c文件包含了头文件之后的结果)外,以extern前缀声明的函数对于当前翻译单元来说是外部函数。它提示编译器,假定这个函数的定义存在,但不在当前翻译单元中。因此若语法正确,编译器不对此函数产生标识符未定义的错误。链接器会检查编译器得到的若干目标文件以及静态库文件中的包括函数在内的符号,如果不满足唯一定义性则产生错误,链接失败,不会产生最终目标文件(如.exe可执行文件)。
对于加static前缀声明的函数,编译器认为定义在当前翻译单元或库中且不会被其它翻译单元引用(也就是说函数仅对当前源文件有效)。相对于extern(外部)函数,这些函数可以称为internal(内部)函数。
而不加extern或static声明的函数,默认为定义在当前翻译单元中,且其它翻译单元可以用extern函数声明引用这个函数(对链接器可见)。
对于非extern函数,如果编译器在当前翻译单元中找不到函数的定义,则产生标识符未定义的编译错误,编译失败。
====
[原创回答团]参考资料:原创
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
初中英语小阅读,求这四个选项怎么选
淳信教育的刷题班只有一期吗?年后有没有啊?
“水上叶”和“水中叶”是什么意思?
海外包裹清关后,一直没有转国内快递,怎么回
多彩美术绘馆怎么去啊,有事要去办理
pc版讨鬼传极能继承psp上讨鬼传的存档么
羌活、独活的区别
大德开示│为什么有的人无论如何努力,都没
皇皇三十载,书剑两无成是什么意思
双顶径76mm头围288mm腹围278mm股骨长56mm这是
烟富3号苹果有什么优越性
内存条一根16G3000MHZ和两根8G2400MHZ那个更
一物真奇对,思为玉皇客。送(身在方士格)
真三国无双联合突袭,天禄和董卓怎么打啊?我
梦幻西游没有加魔的DT怎么把魔力洗掉
推荐资讯
火木夫妻好婚配
期货交易当中的密码及什么是资金密码?
卓雅的2010夏季趋势
亚比仕充电器使用方法!
苏大附二院分院地上停车场(出入口)地址在什么
吴亦凡遭大鹏强吻视频曝光,吴亦凡大鹏真的亲
诗经是什么意思分几类
中国象棋分大小里面车可不可以吃马
阿国网络随笔的文字非常犀利,为什么有人骂他
中国五大陶瓷产地分别指的哪里
专监和总监的区别是什么· 有什么不同
“宁静祥和”的意思是什么?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?