zoukankan      html  css  js  c++  java
  • 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_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。




  • 相关阅读:
    dpkg 被中断,您必须手工运行 sudo dpkg –configure -a 解决此问题
    运行wpscan报错Could not find 'nokogiri' (~> 1.8.0)
    理解:jar和war的区别
    AcWing3494. 国际象棋(状压DP)
    AcWing3422. 左孩子右兄弟(树形DP)
    python命名空间
    mysql日志大量报错“original commit timestamp is more recent than the immediate commit timestamp”
    python模块导入
    Centos-Docker镜像制作
    python面向对象之封装
  • 原文地址:https://www.cnblogs.com/cathytong/p/6128428.html
Copyright © 2011-2022 走看看