基于模型的设计让软件开发变得简单了,大量没有计算机软件背景的工程师也可以进行软件开发了。
这个现象在汽车行业尤其突出,像我,大学就是发动机专业,工作中也可以通过使用Simulink和代码生成工具开发嵌入式C代码。
但是,我也经常听到有人抱怨:现在的工程师太过依赖Simulink,根本就不知道C语言是怎么回事了,这在我们软件开发中很不方便!
果有此事?果有此事!
不得不说,毕竟你做的是软件开发工作,即便是有了Simulink,我们可以不再写C代码了,基本的C语言的概念还是有必要的。
写到这里,又想起另外一件事……
若干年前,在德尔福中国研发中心B楼的二楼,那位把写代码当成写诗的同事跟我说:三楼来了一位博士,做软件开发,居然连.h文件是做什么用的都不知道!言语中流露出一种鄙夷。
我听后一惊,确实,我们大学毕业,虽说大多都学过C语言,并且不少学生会参加C语言的等级考试,但考试中,相比于.h文件的作用,老师们更喜欢考查i++和++i之间的区别。
在后来的日子里,不管是在德尔福还是在迈斯沃克,面对那些自称有着丰富软件项目经验的应聘者,我都会问这样一个问题:来,说一下,C语言中.h文件是做什么用的?
回答各式各样,通常都答不到点子上。
今天既然要写基于模型设计的C语言基础,不妨就从.h文件的作用开始写起。
1. .h文件的作用
当前技术背景下,工程化的项目已经没有小到一个文件就可以搞定的了,但凡有点规模的项目,基本上都是模块化开发的。模块化开发的时候,对应每个模块,通常会写两个文件,一个.c,另一个.h,比如module1.c,module1.h。.c文件通常用于定义变量和实现函数,而.h文件,除了定义一些公用的宏和类型之外,还会有下面这样的代码&#