xcode 配置系统环境变量 Preporocessing 预编译宏的另一种写法, 系统的DEBUG 由来
在某些项目中看到一些环境变量类似宏的东西 比如叫ENVIRONMENT, 但发现还找不到具体这个宏是什么值, 那是因为他实在Preprocessing里配置了这个宏的值, 他能配置debug/release下的不同值,所以你肯定是找不到的
配置变量如下: APIUrl, 他就是一个环境变量名(宏), 程序在编译的时候会根据编译环境替换后面的值

在代码中只需直接写他的环境变量名就可以
NSString *strUrl = APIUrl;
注意:
在配置APIUrl的时候后面的字符串一定要写成转义字符型的, 否则就会报错, 因为他在读取出来的时候发现字符串格式不对。下面是几种错误情况
APIUrl=@search
APIUrl=search
如果你在项目中写上
#ifdef DEBUG
#define ASP @"123"
#else
#define ASP @"234"
#endif
说到这你就应该知道DEBUG的由来吧对没错就是它
如果你去掉这个DEBUG 你会发现ASP的值会是@"234"
xcode 配置系统环境变量 Preporocessing 预编译宏的另一种写法, 系统的DEBUG 由来的更多相关文章
- C++头文件中预编译宏的目的
C++头文件中预编译宏的目的 eg: #ifndef _FACTORY_H_#define _FACTORY_H_......#endif //~_FACTORY_H_ 防止头文件被重复包含,导致变量 ...
- C中的预编译宏定义
可以用宏判断是否为ARC环境 #if _has_feature(objc_arc) #else //MRC #endif C中的预编译宏定义 -- 作者: infobillows 来源:网络 在将一 ...
- linux, windows, mac, ios等平台GCC预编译宏判断
写跨平台c/c++程序的时候,需要搞清各平台下面的预编译宏,区分各平台代码.而跨平台c/c++编程,GCC基本在各平台都可以使用.整理了一份各平台预编译宏的判断示例. 需要注意几点: * window ...
- GCC预编译宏查看
编译调试代码时,总是遇到要使用编译器预编译宏进行跨平台编译. gcc -E -dM -</dev/null 编译器版本 Thread model: posix gcc version 5.4.0 ...
- Mac配置系统环境变量
最近在配置flutter的环境变量,使用: export PATH=$PATH:`pwd`/flutter/bin 然后一段时间之后发现环境变量莫名其妙的就消失了,这里有一个大坑! !!!!Mac 系 ...
- Xcode 配置常用变量(SRCROOT, PROJECT_DIR, PROJECT_NAME)
https://developer.apple.com/library/mac/documentation/DeveloperTools/Reference/XcodeBuildSettingRef/ ...
- C/C++跨平台的的预编译宏
我们在编译一些跨平台的程序的时候难免会遇到_WIN32 __linux__什么之类的SDK或者编译器环境预定义的宏.有很多,之前还分不清_WIN32 和WIN32的区别.不过这里还好有个列表,做个备 ...
- Windows 10 配置系统环境变量
首先在桌面找到此电脑(或我的电脑)右击找到属性 点击进入 之后进入到系统详情窗口找到高级系统设置 点击进入 找到环境变量 点击进入 找到Path 点击进入 找到新建点击 将你要为那个应用设置环境的绝对 ...
- Unity3D 多平台 预编译 宏定义
平台定义 UNITY_EDITOR 编辑器调用. UNITY_STANDALONE_OSX 专门为Mac OS(包括Universal,PPC和Intelarchitectures)平台的定义. UN ...
随机推荐
- Xshell访问本地或者远程Linux虚拟机
背景 在本地PC机上安装了VMware workstation和Ubuntu系统,但是每次访问虚拟机都需要输入登陆密码,比较不方便.为此,通过Xshell来访问虚拟机,提高工作效率. 步骤 1.打开虚 ...
- BZOJ2427:[HAOI2010]软件安装——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=2427 https://www.luogu.org/problemnew/show/P2515 现在 ...
- BZOJ4872:[SHOI2017]分手是祝愿——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=4872 https://www.luogu.org/problemnew/show/P3750 Zei ...
- eclipse中支持python
1. 启动eclipse,help-> Install New Software; 2. 点击add 3. 设置Repository name: pydev Location: http://p ...
- Educational Codeforces Round 48 (Rated for Div. 2) CD题解
Educational Codeforces Round 48 (Rated for Div. 2) C. Vasya And The Mushrooms 题目链接:https://codeforce ...
- YARN和MapReduce的内存设置参考
如何确定Yarn中容器Container,Mapreduce相关参数的内存设置,对于初始集群,由于不知道集群的类型(如cpu密集.内存密集)我们需要根据经验提供给我们一个参考配置值,来作为基础的配置. ...
- ps命令查看进程指定项目信息、用户名过长显示UID
有次一个在使用ps命令时,发现部分用户显示的是用户名,有些用户显示的是UID,那是因为用户名长度超过8位的:也就是说ps命令用户名列默认只能显示8位(含8位)的用户名,超过8位就显示UID,如何让长度 ...
- notify()与notifyAll()
notify() :随机唤醒一个线程. notifyAll():唤醒等待某个锁的所有任务. 在技术上,可能会有多个任务在所创建的任务上处于wait()状态,调用notifyAll()比只调用notif ...
- Base class does not contain a constructor that takes '0' argument
刚刚在写一段直播室网站中的一段程序遇,突然遇到一个错误,如下 'TVLLKBLL.BaseClass' does not contain a constructor that takes 0 argu ...
- 使用python脚本配置zabbix发送报警邮件
#前提得在zabbix_server配置文件中配置触发脚本的目录,例如,我配置的在/usr/local/zabbix/server/scripts目录下 编写python脚本如下 因为我的服务器在腾讯 ...