条件编译

条件编译:预编译处理/预编译命令 经常使用的3种写法 ui

 1. url

/*
 通常状况下,源程序中全部的行都参加编译。可是有时但愿对其中一部份内容只在知足必定条件才进行编译,也就是对一部份内容指定编译的条件,这就是“条件编译”。有时,但愿当知足某条件时对一组语句进行编译,而当条件不知足时则编译另外一组语句。
 条件编译命令最多见的形式为:  #ifdef 标识符  程序段1  #else  程序段2  #endif
 它的做用是:当标识符已经被定义过(通常是用#define命令定义),则对程序段1进行编译,不然编译程序段2。
 其中#else部分也能够没有,即:  #ifdef  程序段1  #denif

*/



/*
 条件编译(Conditional compilation)是采用  编译前预处理  的方式,编译器根据设定某个常量来决定编译哪些代码而舍弃哪些代码,不编译到中间或目标代码中  预编译命令/处理
 条件编译' ifdef 'else 'endif
 条件编译常数 Debug ; trace
 条件编译常量 conditional compilation constants
 */



#ifdef DEBUG
	NSLog(@"DEBUG");
#else
	NSLog(@"NOT DEBUG");
#endif



打开scheme,改变build configuration为debug,会输出DEBUG,改成release,会输出NOT DEBUG.这是简单的一个例子。

2. spa

/*
 有时也采用下面的形式:  #ifndef 标识符  程序段1  #else  程序段2  #endif
 只是第一行与第一种形式不一样:将“ifdef”改成“ifndef”。它的做用是:若标识符未被定义则编译程序段1,不然编译程序段2。这种形式与第一种形式的做用相反。  以上两种形式用法差很少,根据须要任选一种,视方便而定。
*/



3. debug

/*
 还有一种形式,就是#if后面的是一个表达式,而不是一个简单的标识符:  #if 表达式  程序段1  #else  程序段2  #endif
 它的做用是:当指定的表达式值为真(非零)时就编译程序段1,不然编译程序段2。能够事先给定必定条件,使程序在不一样的条件下执行不一样的功能。
*/



参考:

http://wenku.baidu.com/link?url=KYvicjzm-AX7ome-wQL-Aj4b2rBX6dJ55Jslmx8o2lq372Lv6dDqoGf6_MYvLYMBDYJmKcgPIBxaE-pAkwnrlII56-wf8jR8ZR5tL4UvQkO code

相关文章
相关标签/搜索