ios 开发中宏定义的三种方式及优先级
2015-12-29 21:53
441 查看
ios 开发中有三种方式可宏定义变量
1.直接在文件中用 #define ... 来定义:此方式优先级最高,当用多种方式宏定义一个变量时,这种方式为最后的值
2.在Build Settings中的Apple LLVM 7.0(或者其他版本号) - Preprocessing->Preprocessor Macros中定义:和第3种方式平级
3.用xcodebuild打包,在打包命令行中使用
xcodebuild -project
"${BUILDPROJECT}.xcodeproj" -target $BUILDPROJECT
GCC_PREPROCESSOR_DEFINITIONS='${inherited} LOGONE=1 LOGTWO=1' build
其中红色为宏定义LOGONE和LOGTWO
其中如果不加${inherited}的话,编译会报错,说是重复定义,加上了以后第3种方式宏定义的优先级就高于了2,当分别用2和3定义一个变量的时候,3定义为最后的值,但是加了以后仍然优先级低于第一种方式。
参考文章:http://stackoverflow.com/questions/15708831/setting-a-define-from-the-command-line-in-xcode-4-6
1.直接在文件中用 #define ... 来定义:此方式优先级最高,当用多种方式宏定义一个变量时,这种方式为最后的值
2.在Build Settings中的Apple LLVM 7.0(或者其他版本号) - Preprocessing->Preprocessor Macros中定义:和第3种方式平级
3.用xcodebuild打包,在打包命令行中使用
xcodebuild -project
"${BUILDPROJECT}.xcodeproj" -target $BUILDPROJECT
GCC_PREPROCESSOR_DEFINITIONS='${inherited} LOGONE=1 LOGTWO=1' build
其中红色为宏定义LOGONE和LOGTWO
其中如果不加${inherited}的话,编译会报错,说是重复定义,加上了以后第3种方式宏定义的优先级就高于了2,当分别用2和3定义一个变量的时候,3定义为最后的值,但是加了以后仍然优先级低于第一种方式。
参考文章:http://stackoverflow.com/questions/15708831/setting-a-define-from-the-command-line-in-xcode-4-6
相关文章推荐
- 广点通 (iOS完整版)
- iOS --- CoreGraphics中三种绘图context切换方式的区别
- 蓝懿ios练习整理笔记
- 2015.12.29 iOS SimpleCalculator简单计算器
- iOS的性能优化
- iOS中解决各种手势冲突问题
- AudioSource声音播放的静态方法
- iOS 中KVC、KVO、NSNotification、delegate 总结及区别
- iOS7中的ViewController切换(一.present与dismiss方式)
- ios 并行开发
- iOS 搜索框
- iOS开发融云即时通讯集成详细步骤
- runtime模型与字典互转
- About iOS总结
- 百度告警-Nagios接入
- iOS -- warnings
- iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例)
- ScrollFix.js:一个 iOS5 溢出滚动的(有限)修复方案
- IOS 消息分发
- IOS自定义弹出框