首次写三百行代码

       接触C语言或者说是嵌入式相关已经有两三年了,从来没有在一个工程中写这么多行代码。第一次写这么多。

        一个工程的代码再多,也是由若干个子函数和一个主函数构成,自己首先要明确各个函数之间的调用关系。自己上手的时候总会犯各种各样的错误。上次一个scanf坑了我两次,说会吧,只要接触过C语言,基本都会,但是我总会犯一些意想不到的错误,找bug找半天,逻辑结构都没问题,最后逐行看代码,发现是这里出现的失误。

      在这个工程文件中,包含若干个子函数,还有宏定义以及结构体变量。在实参传形参的的过程中,总是把数据类型搞不清楚,有时传首地址,是一个*类型的,有时传地址的地址,是二级指针,然后在子函数里进行数据接收的时候,有可能会搞混,有可能会接收的是二维数组而不是一维数组,这点在做题的时候尤为要注意。

        在编写代码的时候,尽量把可能出现的错误情况写出来,这样方便以后调试,要不然结果只显示段错误,而找不到错误原因,这又会浪费大量时间去找bug,或者去进行断点测试,逐行运行代码,但这种方式相对于打印调试,有些繁琐。在找不到代码运行到哪里,或者无法判断是否成功进入子函数时,也可以用打印调试,代码走到哪里有问题一目了然。

      在函数的核心代码写完后,有要求对若干子函数进行封装,封装的过程也是十分折磨的。一个makefile就给人整不会了,把对应类型的文件放到同一个目录文件中去。然后该目录文件理由小makefile,然后用一个大makefile把所有文件链接起来。OBJ文件里存的都是.o文件,已经进行了gcc的前三步,只编译不链接,只要其原.c文件不变,.o文件就能在下一次编译中直接使用,这会大大提高编译的效率。

      在编写代码的过程中还是要仔细,避免出错,要不然在调试的过程中会浪费大量时间。认真敲好每一行代码,这是一个程序员的基本素养。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值