C/CPP 中的宏展开

2443阅读 0评论2010-09-16 ghoststears
分类:

虽然灰常灰常多的书籍上都强调了,不要使用宏。但实际过程中,总是难以避免会出现一些宏。使用宏最麻烦的就是宏的展开,这个时候需要灰常细心和耐心。不过也有比较好的 DEBUG 方法,就是直接生成将宏展开的文件(.i),然后再去看展开的宏对不对。

1、Windows 平台:
Windows 平台上,VS 系列是王道,在 VS 里面,展开宏做一下设置:

选中 [project] 
     -> properties
     -> Configuration Properties
     -> C/C++
     -> Preprocessor
     -> Generate Preprocessed File
        -> NO                               /** 默认是不生成预处理文件滴 */
        -> With Line Numbers (/P)           /** 生成预处理文件,带行号 */
        -> Without Line Numbers (/EP /P)    /** 生成预处理文件,不带行号 */

好了,一般生成不带行号的就可以了。设置以后,编译(编译干兴趣的文件就好了,全部编译灰常滴慢)后会生成和源文件同名的 .i 文件。打开 .i 文件(不要被吓到了,灰常滴大),使用查找等方法,快速定位到兴趣点,就能看到宏是不是写错了。

2、Linux 平台
在终端使用
cpp source_file.c[pp]

就可以了。

*: cpp 是预编译器
上一篇:早上在公交车上遇到一个BH男
下一篇:[转载][外刊IT评论]代码覆盖率