找回密码
 注册
搜索
查看: 1071|回复: 2

[资料] #if 0和/* 区别

[复制链接]
发表于 2006-8-16 15:16:00 | 显示全部楼层 |阅读模式
用/*.....*/注释可以用#if 0。。。#endif代替吗?
我觉得#if 0。。。#endif比较好用,请教区别?
发表于 2006-8-20 12:57:00 | 显示全部楼层
都可以。我现在也偏向用#if 0 - #endif。因为有些编译器处理不好嵌套注释,比如
/*........
//........
/* ..... */
......*/
等等。
点评回复

使用道具 举报

发表于 2006-8-30 12:36:00 | 显示全部楼层
/**/注释是在预处理阶段就被去掉了。
而#if是条件编译指令,在编译的时候才根据#if exp中exp的值来决定是否编译后面的代码。
如果是注释。还是用/**/比较好。
而#if大多用在调试开关上,即在调试模式下输出一些信息,在发布的程序时不输出这些信息。如下:
#if DBG
#define xxx  printf()
#else
#define xxx
#endif
当然#if也可以用在其它情况下。
总之,一般情况下,#if下包含的是语句。 /**/中包含的是注释。在注释掉一些不需要的语句时这两者的效果是等价的。
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-15 06:59 , Processed in 0.043646 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表