C#預處理器指令之#define/#undefine/#if/#elif/#else/#endif


預處理器命令的功能非常強大,在編程過程中的使用也非常廣泛,比如在版本發布中使用非常方便;
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-->配置管理器。

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_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。





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM