从大一开始学C语言到现在已经是大二了,在实际做工程的时候时候才知道课掌握课堂上老师讲的C语言知识是远远不够的,以致编程的时候屡屡碰壁。看似很简单的自认为理所因当的,不会出错的代码老是出现BUG,特别是程序写大的时候,程序调了几天都没调试好的话会很让人丧失斗志!最近在基于一个51的微型系统上做一些应用,用到NRF905无线模块,12864液晶,温湿度模块,采用的模块化编程代码就出现了让我崩溃的BUG。先是在温湿度模块的代码上出现BUG,调试了好久才知道是什么原因,采用模块化编程中有多个.c文件和.h文件,.c文件主要是用来写功能函数和定义变量的.h文件是用于声明对应.c文件的函数和一些相关宏定义的,我错把变量的定义也放到.h文件中去了。然后是再调试NRF905无线模块的时候BUG又来了!一个我已在.c里面定义得数组,在引用这个数组的时候编译器总是报错:_main.c(27): error C202: 'TxRxBuf': undefined identifier,当时我心里一直纳闷明明定义这个数组了啊,怎么还会出错?最终通过百度搜索到了本论坛上的相关帖子才知道:要在一个.c文件里面使用另一个.c文件的变量,需要在这个.c文件里面用extern声明,说明这个变量来自外部。在这里要感谢阿莫电子论坛!这些BUG对大牛们是小菜一碟,对像我这样正在入门的新手却是必须掌握的很基础的东西,深刻感受到做嵌入式对C不熟是步履维艰的,还有想要做一些高级应用最好是有一定数据结构的知识,我是电子信息工程专业的,专业没有开数据结构的课程,但在实际中做工程中特别是一些复杂一点的项目才感觉的数据结构真的很有用,多亏当时进实验室时老师要求我学习数据结构的知识。以后的路还很长,不懂的问题肯定还有很多,希望大牛们多多吐槽!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
我以前也是这么认为的,.c放函数和变量,.h放需要调用的模块函数名,可是最近我看的程序,有的直接把各个模块单独放在一个.h文件中,我编译下也是可以的。就是说,只留一个main.c文件,其它的模块都只用一个.h文件即可
一周热门 更多>