uTenux工程中使用了很多的extern声明。
以前只知道变量前面放个extern是干啥的,没见过这种用法。
好多函数之前都会放个extern,刚开始不知道为啥。手动删除一个两个extern也没事。但不知道为什么。
今天问了下百度,豁然开朗啊:
extern函数1
常见extern放在函数的前面成为函数声明的一部分,那么,C语言的关键字extern在函数的声明中起什么作用? 答案与分析: 如果函数的声明中带有关键字extern,仅仅是暗示这个函数可能在别的源文件里定义,没有其它作用。即下述两个函数声明没有明显的区别: extern int f(); 和int f();当然,这样的用处还是有的,就是在程序中取代include “*.h”来声明函数,在一些复杂的项目中,比较习惯在所有的函数声明前添加extern修饰。
至于工程中的extern,我想就是王老板在写程序的时候,偶尔会更给函数的接口,该了之后通过这个extern来提醒调用这个函数的东西。现在工程完成,我们不去该这些接口,这个extern就没啥用了。删掉也没关系。
总结下这个东西:写个小东西时候没啥用,工程大了工程周期长了就有用了。