码迷,mamicode.com
首页 > 其他好文 > 详细

常用的编译宏定义:可以让代码在不同的编译情况下执行

时间:2016-05-17 14:48:32      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:

(1)__OPTIMIZE__  :用于release和debug的判断,当选择了__OPTIMIZE__  时,可以让代码在release时执行,在debug时不执行。示例如下:

1
2
3
4
5
#ifndef __OPTIMIZE__  
    //这里执行的是debug模式下  
else  
    //这里执行的是release模式下  
#endif

(2)__i386__ 与 __x86_64__   :用于模拟器环境和真机环境的判断。满足该条件的代码只在模拟器下执行。示例代码如下:

1
2
3
4
5
6
7
#if defined (__i386__) || defined (__x86_64__)  
   
    //模拟器下执行  
#else  
   
    //真机下执行  
#endif

(3)__IPHONE_OS_VERSION_MAX_ALLOWED  :当前编译的SDK版本,可以与__IPHONE_9_0等宏定义进行比较,进行不同版本下代码的执行。示例如下:

1
2
3
4
5
if (__IPHONE_OS_VERSION_MAX_ALLOWED == __IPHONE_9_0) {  
        //如果当前SDK版本为9.0是执行这里的代码  
    }else{  
        //否则执行这里  
    }

【16】预编译宏 #ifdef     #else   #endif

1
2
3
4
5
#ifdef ****  
    //代码1  
else  
    //代码2  
#endif

意思是 如果标识符****已被#define命令定义过,则对代码1进行编译,否则对代码2进行编译。

同时也有#ifndef,则与#ifdef刚好相反。

常用的编译宏定义:可以让代码在不同的编译情况下执行

标签:

原文地址:http://www.cnblogs.com/code4better/p/5501608.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!