对话:首页

来自 ChinaUnix Wiki

这是一个条件编译的示例,我在我的blog上贴出来过,但没有人回答。 大家对他输出两次_A_ is defined!有什么样的看法呢? 为什么我总感觉应该输出一次,我用的是VC 6.0。 欢迎大家讨论,谢谢。

  1. include <stdio.h>
  2. ifndef _A_
  3. define _A_
  4. endif

void myfunc(); void main() {

myfunc();
myfunc();

} void myfunc() {

  1. ifdef _A_
printf("_A_ is defined!\n");
  1. undef _A_
  2. endif

} 应该输出2次

Sdsadsa

……

于此同时

我却想知道的是

哪里可以讨论MEDIAwiki的汉化和配置之类

chinaunix上好像都不是很感兴趣啊

--枯の灵 18:25 2007年4月24日 (CST)

是两次

  1. ifdef/#endif首先被编译器分析,也就是你可以这样想,不管程序的具体代码是什么,先把#开头的语句执行一下。

然后产生新的代码文件,再编译执行

Co63

个主工具