您的位置:程序门 -> linux/unix社区 -> 程序开发区



为什么c源文件中的宏已经关闭, 可是在编译的时候,makefile还能检测到关闭宏处代码的语法错误?请教


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


为什么c源文件中的宏已经关闭, 可是在编译的时候,makefile还能检测到关闭宏处代码的语法错误?请教
发表于:2007-10-08 22:08:20 楼主
为什么c源文件中的宏已经关闭,   可是在编译的时候,makefile还能检测到关闭宏处代码的语法错误?

非常感谢
发表于:2007-10-08 22:20:271楼 得分:0
“为什么c源文件中的宏已经关闭”
楼主可以说清楚些吗?或者贴下代码

#undef  
关键字吗?
发表于:2007-10-08 22:41:022楼 得分:0
#if   0  

a=a+1
b=b+a;

#else

b=0;

#endif


就是类似于这个例子,不应该执行#if   0下面的语句,但是在编译的时候,#if   0   下面的语法错误,能被检测出来,并且报错。     是不是makefile中有什么参数的设置啊。
发表于:2007-10-08 23:42:363楼 得分:0
单独编译不会出问题,建议楼主把

/*
a=a+1
b=b+a;
*/

试试看,不懂..等下有没有高人回答..
发表于:2007-10-09 08:32:244楼 得分:0
宏定义只是屏蔽了正常的执行语句的编译.
语法检查是在它之前执行的.
发表于:2007-10-09 16:30:305楼 得分:0
是不是makefile里还有-d   xxxx之类的


快速检索

最新资讯
热门点击