预处理器命令的功能非常强大,在编程过程中的使用也非常广泛,比如在版本发布中使用非常方便;

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。

来自为知笔记(Wiz)

转载于:https://www.cnblogs.com/cathytong/p/6128428.html

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

  1. C 语言编程 — 宏定义与预处理器指令

    目录 文章目录 目录 前文列表 宏 预处理器 预处理器指令 预处理器指令示例 预处理器指令运算符 宏定义 简单宏定义 带参数的宏定义 符号吞噬问题 使用 do{}while(0) 结构 预定义的宏 常 ...

  2. c语言预处理器指令的简单例子

    预处理器指令一般是如下三种: (1)宏定义 (2)条件编译 :比如#if,#else,#ifdef,#ifndef,#elif,#endif (3) 文件包含 #include <stdio.h ...

  3. 《C#零基础入门之百识百例》(九十一)预处理器指令 -- 代码示例

    C#零基础入门 预处理器指令 -- 代码示例 前言 一,预处理器指令 1.1 概念 1.2 常用预处理指令 1.3 语法规则 二,声明指令 2.1 声明指令概念 2.2 代码示例 三,条件编译指令 3 ...

  4. c语言中字符串比较指令,如何在C条件预处理器指令中比较字符串

    CAVEAT:并非所有的编译器都以相同的方式实现C ++ 11规范.以下代码可在我测试过的编译器中使用,而许多注释者使用其他编译器. 引用Shafik Yaghmour的回答:在编译时计算C字符串的长 ...

  5. C#预处理器指令 用法

    第一种: 在Visual Studio 开发环境中设置此编译器选项. 1,打开项目的"属性"页. 2,单击"生成"属性页. 如下图 上图的几点说明: 1,如果在 ...

  6. define定义的函数如何引用_「C与指针心得」25.预处理器-宏函数

    感谢您的阅读与点赞!欢迎关注:「大猫玩程序」,查看C语言系列文章 上一节讲了一些系统的预定义宏,这一节来讲一讲 宏定义.宏函数. 预处理常量 define: 预处理器指令从#开始,到最后第一个换行符为 ...

  7. java的define,关于预处理器:Java中的#define

    我开始用Java编程,我想知道是否相当于C++ EDCOX1(0)的存在. 对谷歌的快速搜索表明它没有,但有人能告诉我是否存在类似的东西吗?在Java中?我正在努力使我的代码更可读. 例如,我希望能够 ...

  8. 【小白学习C++ 教程】十四、C++ 中预处理器

    @Author:Runsen 预处理器程序提供预处理器指令,它告诉编译器在编译之前对源代码进行预处理. 所有这些预处理器指令都以"#"符号开头.'#' 符号表示任何以# 开头的语句 ...

  9. C++开发中的预处理器

    该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处 本文章博客地址:https://cplusplus.blog.csdn.net/article/details/105009372 预 ...

最新文章

  1. PNAS顶刊文:情侣分手3个月前就有预兆!聊天记录还能反映分手后遗症
  2. 物联网技术周报第 141 期: 使用 Alexa Voice 和 Raspberry Pi 构建图片识别应用
  3. SpringBoot项目启动时:Failed to initialize connector [Connector[HTTP/1.1-8080]]
  4. 香帅的北大金融学课笔记11 -- 资产配置
  5. mPaaS 客户端问题排查之突如其来的“白屏”等待
  6. 阿里云centos7安装和卸载图形化操作界面
  7. 再看那个用代码把人类送上月球的女人——Margaret Hamilton
  8. 大学计算机网络实验2,河南工业大学计算机网络实验报告2
  9. 怎么在百度里通过关键词搜索到自己的网站
  10. [渝粤教育] 西南科技大学 英语写作 在线考试复习资料
  11. 在 Centos 安装 MySQL
  12. (从源码解答)Failed to instantiate [org.elasticsearch.client.transport.TransportClient]
  13. 四川大学转专业到计算机学院面试,2016年本科生转专业工作面试通知
  14. 海康威视复赛题 --- 算法说明书
  15. mysql修改校对集_关于MySQL字符集和校对集问题
  16. 【学习记录】阿里天池SQL练习题1-python与SQL方式比较
  17. aps是什么意思_aps是什么意思
  18. linux环境pwd下ls,Linux基础命令2:cd、pwd、ls、stat、touch、alias
  19. 人人憎恨的大数据杀熟你了解吗? 大数据杀熟”是否真的存在?
  20. 敏涵控股集团董事长刘敏:品牌敏涵 用心做企业

热门文章

  1. netstat命令实战详解
  2. splunk 中limits.conf 作用
  3. 校园跑腿小程序源码,服务端+客户端,可运营
  4. ROS-CAN通信解析程序分析(ROS中进行CAN通信)
  5. AVAudioSession音频会话(类别选择/音频输出切换)
  6. java web 面包屑,自动面包屑 Headers
  7. c++单链表基本操作
  8. 微信小程序导航条配置图片背景
  9. pr片头模板,故障文字logo开场视频片头模板mogrt
  10. Dreamwaver 使用root用户连接不上远程服务器