我实在是被这样混乱的代码折磨的不行了,有用没用的#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、拆分成多行书写的语句,在处理的过程中有可能造成错误,只要手工将它合并成单行后再处理就没事了。
文章评论(0条评论)
登录后参与讨论