嵌入式C编程小结

       最近在看公司嵌入式开发的文档和C语言代码,真佩服那些设计的人员,从需求分析说明书、时序图、概要设计、详细设计、到Code阶段,都做得很细致。而且纯粹是C语言开发,软件设计人员必须对硬件有很深的了解才行,我看了一下里面的Code,足足有几百多个.h和.c文件,各个模块写得很细致。项目都快接近尾声了,我什么都不懂,刚做嵌入式开发,对我这个纯粹软件专业出身的来说还是比较有挑战性的,硬件理解的障碍、文档中专业术语的障碍等等,作为一个初学者真不知道该如何入手,总觉得自己也许更适合做纯软件应用的网页开发、游戏开发这类的工作吧。嵌入式开发与一般的应用软件最大的不同之处在于它贴近硬件,要求实时性等。

    我看了一下代码,感觉自己的C语言功底还有待提高,extern的用法、消息的封装和处理、任务进程的理解等还得慢慢来。我们使用的开发工具主要是VSS和Source Insight3.5等。

谢谢lushujun2011的博客http://blog.csdn.net/lushujun2011/article/details/6732486,我对extern的用法有了一些了解。

问题一、在variable.c中声明一个全局变量int a;在variable.c中有extern int a,这个extern是什么意思?

答:extern用在变量声明中常常有这样一个作用,在*.c文件中声明了一个全局的变量,这个全局的变量如果要被引用,就放在*.h中并用extern来声明。

问题二、常见extern放在函数的前面成为函数声明的一部分,那么,C语言的关键字extern在函数的声明中起什么作用?

答:如果函数的声明中带有关键字extern,仅仅是暗示这个函数可能在别的源文件里定义,没有其它作用。即下述两个函数声明没有明显的区别:

extern int f(); 和int f();当然,这样的用处还是有的,就是在程序中取代include “*.h”来声明函数,在一些复杂的项目中,可以在所有的函数声明前添加extern修饰。

 

你可能感兴趣的:(嵌入式C编程小结)