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

 ----使用#define 告诉编译器存在给定的符号--------------------------------------
#define ANDROID
#define IOS
#define WP
using 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-->配置管理器。
C#预处理器指令之#define/#undefine/#if/#elif/#else/#endif
2,Debug--><新建...>。
C#预处理器指令之#define/#undefine/#if/#elif/#else/#endif
3,填写名称ANDROID_DEBUG,并且完成设置,然后我们就可以在Debug中看到ANDROID_DEBUG了。
C#预处理器指令之#define/#undefine/#if/#elif/#else/#endif
C#预处理器指令之#define/#undefine/#if/#elif/#else/#endif
4,配置ANDROID_DEBUG,在条件编译符号号写入给定的名称符号,并保存。
C#预处理器指令之#define/#undefine/#if/#elif/#else/#endif
5,使用,我们在Debug方式下的话我们的ANDROID并没有启用,但是我们切换到ANDROID_DEBUG下的话ANDROID符号下的代码就被启用了。
C#预处理器指令之#define/#undefine/#if/#elif/#else/#endif
C#预处理器指令之#define/#undefine/#if/#elif/#else/#endif

-----在Unity使用--------------------------------------
BuildSetting ->PlayerSettings ->Scripting Define Symbols
C#预处理器指令之#define/#undefine/#if/#elif/#else/#endif

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

平台定义

UNITY_EDITOR 编辑器调用。
UNITY_STANDALONE_OSX 专门为Mac OS(包括Universal,PPC和Intelarchitectures)平台的定义。
UNITY_DASHBOARD_WIDGET Mac OS Dashboard widget (Mac OS仪表板小部件)。
UNITY_STANDALONE_WIN Windows。
UNITY_STANDALONE_LINUX Linux的独立的应用程序。
UNITY_STANDALONE 独立的平台(Mac,Windows或Linux)。
UNITY_WEBPLAYER 网页播放器(包括Windows和Mac Web播放器可执行文件)。
UNITY_WII Wii游戏机平台。
UNITY_IPHONE iPhone平台。
UNITY_ANDROID Android平台。
UNITY_PS3 PlayStation 3。
UNITY_XBOX360 Xbox 360。
UNITY_NACL 谷歌原生客户端(使用这个必须另外使用UNITY_WEBPLAYER)。
UNITY_FLASH Adobe 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。




相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-11-15
  • 2021-07-29
  • 2022-12-23
  • 2022-12-23
  • 2022-02-27
猜你喜欢
  • 2022-01-09
  • 2021-10-26
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-12
  • 2021-12-06
相关资源
相似解决方案