首页 > 其他 > 详细

条件编译

时间:2015-09-29 23:34:43      阅读:264      评论:0      收藏:0      [点我收藏+]

条件编译指令:

#if、#else、#elif和#endif指令

#ifdef和#ifndef

#error

指令将使编译器显示一条错误信息,然后停止编译。

#line

指令可以改变编译器用来指出警告和错误信息的文件号和行号。

#pragma

指令没有正式的定义。编译器可以自定义其用途。典型的用法是禁止或允许某些烦人的警告信息。
 

条件编译最常见的形式:

 

形式1:#ifdef

#define 标识符
#ifdef 标识符
//程序段1
#else
//程序段2
#endif

 

注释:当标识符已经被定义过(一般是用#define命令定义),则对程序段1进行编译,否则编译程序段2。

标识符就像一个开关一样,故称为编译开关。

 

形式2:#if

#define a 1
#if 表达式
//程序段1
#elif 表达式2
//程序段2
#else
//程序段3
#endif

注释:表达式为1=>编译程序段1;表达式不为1为2=>编译程序段2;

a:编译开关。

 

形式3:

 define 在vs工程属性->C/C++->预处理指令->把你的编译开关所用的关键字加入到预处理定义栏里.

目的:

  这种条件编译可以提高C源程序的通用性。如果一个C源程序在不同计算机系统上运行,而不同的计算机又有一定的差异。例如,我们有一个数据类型,在Windows平台中,应该使用long类型表示,而在其他平台应该使用float表示,这样往往需要对源程序作必要的修改,这就降低了程序的通用性。

内容源自:

百度百科

http://baike.baidu.com/link?url=axzkmXmqU3Bx-MnI3i5XIMzCPMX-yNzxP_Sjhu95aq7wnjPTj-u3NzCUN2-UQJbZrlP2fSTQCV4eQGMRCLRDDK

 

条件编译

原文:http://www.cnblogs.com/yiii/p/4847444.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!