编程规范

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

编程规范

(2011-12-04 22:00:17)

转载▼

标签:

分类:DSP学习

杂谈

今天想把几天编的程序整理一下,使其符合模块化,规范化。

大致想

1、为每个外设的设置编写一个.c文件,定义设置方式函数等

2、在每个外设的.c文件,编写一个.h文件,用定义宏的方式将外设的设置值定义好,以便.c 函数调用

3、将所有的外设的.h文件包含到一个大的.h文件,以便main.c可以调用

整理过程时发现编程时不规范的习惯导致了很多蛋疼的后果~~~~~

1、以前习惯于将变量定义在头文件中,导致外设设置的.c文件需要调用这些变量,如果此时main.c 也需要调用这个变量,会导致编译连接时全局变量的重复定义,即使使用了条件编译依然会出错。

因此变量最好在函数设置的.c文件中定义(可以写在开头定义成全局变量,也可以写在设置函数内变成局部变量,就是不要写在.h文件中),这样即使main.c文件中一定要使用到这个变量,只需要在main.c中对这些变量用extern声明一下就可以使用了。

2、没有写条件编译的习惯导致编译非常混乱,感觉程序层次不清

#空指令,无任何效果

#include包含一个源代码文件

#define定义宏

#undef取消已定义的宏

#if如果给定条件为真,则编译下面代码

#ifdef如果宏已经定义,则编译下面代码

#ifndef如果宏没有定义,则编译下面代码

#elif如果前面的#if给定条件不为真,当前条件为真,则编译下面代码

#endif结束一个#if……#else条件编译块

#error停止编译并显示错误信息

参考:/2009-06/1245310252124373.html

参考:/language/20090806/66164.html

3、CCS中一个工程的每个c文件都会编译生成一个.obj 文件,最后链接生成.out文件,可以逐个编译检查每个外设设置函数的编写是否出错。

4、还有一个错误的解决“warning: entry point symbol _c_int00 undefined”

没有加入运行时库rts55xx.lib

这么简单的一个过程,又花费了这么多的时间,哎~~~~

相关文档
最新文档