条件编译:预编译处理/预编译命令 经常使用的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
2. spa
/* 有时也采用下面的形式: #ifndef 标识符 程序段1 #else 程序段2 #endif 只是第一行与第一种形式不一样:将“ifdef”改成“ifndef”。它的做用是:若标识符未被定义则编译程序段1,不然编译程序段2。这种形式与第一种形式的做用相反。 以上两种形式用法差很少,根据须要任选一种,视方便而定。 */
3. debug
/* 还有一种形式,就是#if后面的是一个表达式,而不是一个简单的标识符: #if 表达式 程序段1 #else 程序段2 #endif 它的做用是:当指定的表达式值为真(非零)时就编译程序段1,不然编译程序段2。能够事先给定必定条件,使程序在不一样的条件下执行不一样的功能。 */