预处理是在编译之前的处理,而编译工作的任务之一就是语法检查,预处理不做语法检查。预处理命令以符号“#”开头。 常用的预处理指令包括:宏定义:#define文件包含:#include条件编译:#if、#elif、#ifndef、#ifdef、#endif、#undef错误信息指令:#error#...
分类:
编程语言 时间:
2014-11-11 00:42:22
阅读次数:
363
一般情况下,源程序中所有的行都参加编译。但是有时希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句,这就是“条件编译”。
为了满足条件编译可以使用#ifdef、#ifndef、#endif等宏指令。
条件编译命令最常见的形式为:
(1)如果宏定义了标识符1,则执行程序段1。
#ifdef 标识符1
//程序段1
#endif
(2)如果宏定义了标识符1,...
分类:
编程语言 时间:
2014-11-07 17:02:22
阅读次数:
194
郝萌主倾心贡献,尊重作者的劳动成果,请勿转载。
如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^
我要捐赠: 点击捐赠
Cocos2d-X源码下载:点我传送
预处理提供了一些工具,使用这些工具更易于开发、阅读、修改程序,
也易于将程序移植到不同的系统中。
你也可以使用预处理程序定制Objective-C语言...
分类:
其他好文 时间:
2014-11-06 00:46:40
阅读次数:
176
1. OSTaskCreate() OSTaskCreate()建立一个新任务,能够在多任务环境启动之前,或者执行任务中建立任务。注意,ISR中禁止建立任务,一个任务必须为无限循环结构。 源码例如以下:#if OS_TASK_CREATE_EN > 0 /* 条件编译,是否同意任务的创建 */IN....
分类:
其他好文 时间:
2014-10-30 18:43:24
阅读次数:
116
编译过程主要分为4个过程 ? 1) 编译预处理 ? 预编译程序完成的工作,可以说成是对源程序的“替换”工作。经过这个过程,生成一个没有宏定义、没有条件编译指令、没有特殊符号的输出文件。 宏定义命令;例如#de...
分类:
编程语言 时间:
2014-10-15 23:28:01
阅读次数:
248
条件编译
一般情况下,源程序中所有的行都会被编译。有时,我们希望程序中某一部分只在某个条件不成立或成立时才去编译,也就是对一部分内容指定编译的条件,这就是条件编译。
条件编译使用范式
范式一:
#ifndef 标识符
程序段1
#endif
其含义是:如果没有定义标识符,就编译程序段1,否则不编译程序段1。
(范式一主要应用于确保文件多次包含仍能安全工作,使用该范式可以...
分类:
系统相关 时间:
2014-10-09 02:17:27
阅读次数:
193
宏定义不带参数宏定义:#define PI 3.1415926带参数的宏定义:#define PI 3.1415926#define S(r) (PI*(r)*(r))void main(){float a=2,area;area=S(a); }用宏可以得到几个结果:#define CIRCLE(R...
分类:
其他好文 时间:
2014-10-05 20:27:18
阅读次数:
266
一、什么是预处理指令 预处理指令是告诉编译器在编译之前预先处理的一些指令,有宏定义,文件包括,条件编译。预处理指令一般以 # 号开头,能够出如今文件的不论什么地方,作用于整个文件。二、宏定义 宏定义分不带參数的和带參数的宏定义。? 1?不带參数的宏定义 #import #de...
分类:
其他好文 时间:
2014-10-04 16:11:06
阅读次数:
188
预编译:该阶段主要处理源文件中的#ifdef、#include和#define命令。 命令:gcc-Emain.c -o main.i -E 激活预处理,把预定义#define展开,加载#include的文件,处理条件编译并将不符合条件的代码段删除。 编译:生成汇编语言文件*.s ...
分类:
其他好文 时间:
2014-09-28 00:24:00
阅读次数:
297