对话:首页
来自 ChinaUnix Wiki
这是一个条件编译的示例,我在我的blog上贴出来过,但没有人回答。 大家对他输出两次_A_ is defined!有什么样的看法呢? 为什么我总感觉应该输出一次,我用的是VC 6.0。 欢迎大家讨论,谢谢。
- include <stdio.h>
- ifndef _A_
- define _A_
- endif
void myfunc(); void main() {
myfunc(); myfunc();
} void myfunc() {
- ifdef _A_
printf("_A_ is defined!\n");
- undef _A_
- endif
} 应该输出2次
Sdsadsa
[编辑]
……
于此同时
我却想知道的是
哪里可以讨论MEDIAwiki的汉化和配置之类
chinaunix上好像都不是很感兴趣啊
--枯の灵 18:25 2007年4月24日 (CST)
是两次
- ifdef/#endif首先被编译器分析,也就是你可以这样想,不管程序的具体代码是什么,先把#开头的语句执行一下。
然后产生新的代码文件,再编译执行
