您的位置:首页 > 编程语言 > C#

C#预处理器指令之#define/#undefine/#if/#elif/#else/#endif

2016-12-03 12:48 567 查看
预处理器命令的功能非常强大,在编程过程中的使用也非常广泛,比如在版本发布中使用非常方便;1,#define(告诉编译器存在给定名称的符号) #undefine(删除符号)2,#if #elif #else #endif#define本身没有什么作用,一般与其他预处理器指令配合使用(#if)使用#define 告诉编译器存在给定的符号
在VS中添加名称符号
在Unity使用

----使用#define 告诉编译器存在给定的符号--------------------------------------#define ANDROID#define IOS#define WPusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace CShapeB{ class Test {#if ANDROID #if QD1 #elif QD2 #elif QD3 #endif#elif IOS #if QD1 #elif QD2 #elif QD3 #endif#elif WP#elif ELSE#else#endif }} -----在VS中添加名称符号--------------------------------------1,Debug-->配置管理器。


2,Debug--><新建...>。


3,填写名称ANDROID_DEBUG,并且完成设置,然后我们就可以在Debug中看到ANDROID_DEBUG了。




4,配置ANDROID_DEBUG,在条件编译符号号写入给定的名称符号,并保存。


5,使用,我们在Debug方式下的话我们的ANDROID并没有启用,但是我们切换到ANDROID_DEBUG下的话ANDROID符号下的代码就被启用了。




-----在Unity使用--------------------------------------BuildSetting ->PlayerSettings ->Scripting Define Symbols


-----Unity预定义宏--------------------------------------

平台定义

UNITY_EDITOR编辑器调用。
UNITY_STANDALONE_OSX专门为Mac OS(包括Universal,PPC和Intelarchitectures)平台的定义。
UNITY_DASHBOARD_WIDGETMac OS Dashboard widget (Mac OS仪表板小部件)。
UNITY_STANDALONE_WINWindows。
UNITY_STANDALONE_LINUXLinux的独立的应用程序。
UNITY_STANDALONE独立的平台(Mac,Windows或Linux)。
UNITY_WEBPLAYER网页播放器(包括Windows和Mac Web播放器可执行文件)。
UNITY_WIIWii游戏机平台。
UNITY_IPHONEiPhone平台。
UNITY_ANDROIDAndroid平台。
UNITY_PS3PlayStation 3。
UNITY_XBOX360Xbox 360。
UNITY_NACL谷歌原生客户端(使用这个必须另外使用UNITY_WEBPLAYER)。
UNITY_FLASHAdobe Flash。
也可以判断Unity版本,目前支持的版本

UNITY_2_6平台定义为主要版本的Unity 2.6。
UNITY_2_6_1平台定义的特定版本1的主要版本2.6。
UNITY_3_0平台定义为主要版本的Unity 3.0。
UNITY_3_0_0平台定义的特定版本的Unity 3.0 0。
UNITY_3_1平台定义为主要版本的Unity 3.1。
UNITY_3_2平台定义为主要版本的Unity 3.2。
UNITY_3_3平台定义为主要版本的Unity 3.3。
UNITY_3_4平台定义为主要版本的Unity 3.4。
UNITY_3_5平台定义为主要版本的Unity 3.5。
UNITY_4_0平台定义为主要版本的Unity 4.0。
UNITY_4_0_1主要版本4.0.1统一的平台定义。
UNITY_4_1平台定义为主要版本的Unity 4.1。
来自为知笔记(Wiz)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: