Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1256695
  • 博文数量: 548
  • 博客积分: 7597
  • 博客等级: 少将
  • 技术积分: 4224
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-15 13:21
个人简介

嵌入式软件工程师&&太极拳

文章分类

全部博文(548)

文章存档

2014年(10)

2013年(76)

2012年(175)

2011年(287)

分类: LINUX

2011-03-14 21:14:19

/*试举一个例子: 
如果想编写一个既可用   TC   编译又可用   VC   编译的程序,但不同的编译器生成的可执行文件的功能不同时,   #ifdef   就有用了. 

下面这个程序,如果用   VC   编译,只会显示一句话;   但若用   TC   编译,既显示一句话,又把背景颜色改为蓝色。 
这样做的原因是   VC   没有   textbackground()   这个函数,   为了不改变源程序而适应不同的编译器,   这种条件编译(conditional   compilation)的方法比较有用. 
另外,有些   Windows   API   对操作系统的版本有要求,这时条件编译又可派上用场了. 
*/ 

#include    
#include    

#ifdef   WIN32 /*使用   Visual   C++   6.0   作为编译器时,   "WIN32 "   自动被VC定义,*/
#define   VC /*从而定义了 "VC "*/ 
#endif 

int   main(void) 

#ifdef   VC /*如果   VC   被定义,   执行下面的代码*/ 
printf( "This   program   was   compiled   by   VC   6.0\n "); 

#else /*否则(即   VC   未被定义),   执行下面的代码*/ 
/*使用   Turbo   C   作为编译器时执行*/ 
textbackground(BLUE); /*背景颜色改为蓝色*/ 
clrscr(); 
printf( "This   program   was   not   compiled   by   VC   6.0\n "); 
#endif /*#ifdef   VC*/ 

/*不论用何编译器,   以下代码都会被编译*/ 
printf( "Hello,   world "); 
getch(); 
return   0; 
}

阅读(3134) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~