原创 过滤#ifdef

2009-12-3 19:34 1935 7 7 分类: MCU/ 嵌入式

    我实在是被这样混乱的代码折磨的不行了,有用没用的#ifdef遍地都是,缩进也是参差不齐,代码风格五花八门,维护这样的代码真是痛苦至极。


    美化代码的工具倒是不少,可是没有找到好用的过滤#ifdef的工具,cpp倒是可以,但是它会把#define的常量全都替换进来了,看着也很痛苦。不知道有没有什么控制参数可以让它只过滤#ifdef而不替换#define的常量,我在gcc手册里面似乎也没找到。


    没有办法,还是自己动手吧。为了避免语法分析,就在cpp的基础上加以处理倒是比较省事。于是产生了这个脚本工具,虽然还有点bug,但是用得还挺爽的,经过它处理的代码文件看着舒服极了。


    这脚本工具只是针对我们的DVD软件,稍加改动也很方便用于对付其他糟糕代码。


脚本环境:linux或者cygwin bash shell


依赖工具:gcc、awk和astyle


用法:./cpp1 src.c(src.c为看着不爽的代码文件,生成src.cpp,.cpp后缀跟C++没有关系,只是随便写的而已,还可以用C的语法高亮查看)


目前发现的缺陷:


1、拆分成多行书写的语句,在处理的过程中有可能造成错误,只要手工将它合并成单行后再处理就没事了。


zip

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
7
关闭 站长推荐上一条 /3 下一条