【C#】预处理指令的学习 条件编译



#define RELEASE
#undef DEBUG
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace YuChuLiQi
{
#pragma warning disable 169
class Program
{
//因为这里加了#pragma warning disable 169,所以字段未赋值的警告将看不见
static int noField;
static void Main(string[] args)
{
//要让这里编译else 不执行 这条语句,就要在开头加#undef DEBUG
//否则就加#define DEBUG
#if DEBUG
Console.WriteLine("执行");
#else Console.WriteLine("不执行");
#endif
#if !RELEASE
Console.WriteLine("!Release");
// ! == && || !=运算是可以的
#elif !DEBUG
Console.WriteLine("!DEBUG");
#elif DEBUG
Console.WriteLine("DEBUG");
#endif
#if RELEASE
Console.WriteLine("Release");
#endif
#warning "警告"
Console.WriteLine("警告");
//#error "异常,不要编译"
Console.WriteLine("异常,不能编译通过");
#line 36 "core.cs"
Console.WriteLine("36");
Console.ReadKey();
}
} }
【C#】预处理指令的学习 条件编译的更多相关文章
- C学习笔记之预处理指令
一.什么是预处理指令 预处理指令是告诉编译器在编译之前预先处理的一些指令,有宏定义,文件包括,条件编译. 预处理指令一般以 # 号开头,能够出如今文件的不论什么地方, ...
- c语言学习之基础知识点介绍(二十):预处理指令
一.预处理指令的介绍 预处理命令:在编译之前触发的一系列操作(命令)就叫预处理命令. 特点:以#开头,不要加分号. #include: 文件包含指令 把指定文件的内容复制到相应的位置 #define: ...
- c语言的预处理指令分3种 1> 宏定义 2> 条件编译 3> 文件包含
宏简介 1.C语言在对源程序进行编译之前,会先对一些特殊的预处理指令作解释(比如之前使用的#include文件包含指令),产生一个新的源程序(这个过程称为编译预处理),之后再进行通常的编译 所有的预处 ...
- C语言-1.结构体,2.枚举,3.typedef,4.预处理指令的概念,5.条件编译
1. 结构体数组 定义:由若干个相同类型的结构体变量组成的有序的集合. 定义格式: 1) 定义结构体的同时定义结构体数组 struct Car{ int lunzi; int speed; }cars ...
- C/C++预处理指令#define,条件编译#ifdefine
本文主要记录了C/C++预处理指令,常见的预处理指令如下: #空指令,无任何效果 #include包含一个源代码文件 #define定义宏 #undef取消已定义的宏 #if如果给定条件为真,则编译下 ...
- C#学习笔记(十五):预处理指令
C#和C/C++一样,也支持预处理指令,下面我们来看看C#中的预处理指令. #region 代码折叠功能,配合#endregion使用,如下: 点击后如下: 条件预处理 条件预处理可以根据给出的条件决 ...
- c语言学习之基础知识点介绍(九):预处理指令和多文件开发
一:预处理指令 /* 预处理指令: 作用:在程序编译之前做一些操作. 预处理命令写法的共同特点:都是以#号开头. 文件包含指令:#include 是一个文件包含命令. 作用:把某个文件内的内容读取出来 ...
- C#学习笔记:预处理指令
C#和C/C++一样,也支持预处理指令,下面我们来看看C#中的预处理指令. #region 代码折叠功能,配合#endregion使用,如下: 点击后如下: 条件预处理 条件预处理可以根据给出的条件决 ...
- C/C++预处理指令#define,#ifdef,#ifndef,#endif…
2016年12月29日更新: 今天查看以前文件的时候, 突然发现了#error 这个预处理指令.然后回想一下工作, 发现这个指令使用场景还是很多的.比如: 一个项目的模块儿之多,源文件之大,代码之多, ...
- VC中预处理指令与宏定义详解
刚接触到MFC编程的人往往会被MFC 向导生成的各种宏定义和预处理指令所吓倒,但是预处理和宏定义又是C语言的一个强大工具.使用它们可以进行简单的源代码控制,版本控制,预警或者完成一些特殊的功能. 一个 ...
随机推荐
- django admin后台自定义数据保存方式
故事背景是这样的: 为了方便工作中数据的整理,需要开发一个 管理系统,用于记录一些事情. 该系统不需要精美的前端的页面,只需要使用django的admin后台管理就可以了. 我需要在添加数据的时候,把 ...
- 【代码实现】最新PyTorch机器学习与深度学习技术方法
近年来,随着AlphaGo.无人驾驶汽车.医学影像智慧辅助诊疗.ImageNet竞赛等热点事件的发生,人工智能迎来了新一轮的发展浪潮.尤其是深度学习技术,在许多行业都取得了颠覆性的成果.另外,近年来, ...
- MogDB备机处于standby need-repair(WAL)状态
MogDB 备机处于 standby need-repair(WAL)状态 本文出处:https://www.modb.pro/db/402820 问题现象 Mogdb 主备环境,备机检查发现 Sta ...
- 对于dubbo和zookeeper的浅见
在服务器集群环境中,阿里推出的dubbo框架一直是让人仰望的存在,可如今想想,也没啥. dubbo其实就是一个调用工具,他的服务调度也就是知名的几个负载均衡算法,服务监控其实也就是有一个定时任务在定期 ...
- numpy函数向量化,np.vectorize
import numpy as np import time def myfunc(a, b): if a>b: return a-b else: return a+b vfunc = np.v ...
- 力扣670(java)-最大交换(中等)
题目: 给定一个非负整数,你至多可以交换一次数字中的任意两位.返回你能得到的最大值. 示例 1 : 输入: 2736输出: 7236解释: 交换数字2和数字7.示例 2 : 输入: 9973输出: 9 ...
- 基于 K8s 的交付难题退退退!| 独家交付秘籍(第三回)
简介: 经过仔细研究,我们发现秘籍中提到许多帮助解决交付问题的招式,而其中一个让我们印象很深,是关于在原有社区版容器底座 Kubernetes(以下简称 K8s)的基础上,对容器底座进行改进,可更好的 ...
- 云原生时代 RocketMQ 运维管控的利器 - RocketMQ Operator
作者 | 刘睿.杜恒 导读:RocketMQ Operator 现已加入 OperatorHub,正式进入 Operator 社区.本文将从实践出发,结合案例来说明,如何通过 RocketMQ Ope ...
- KubeDL HostNetwork:加速分布式训练通信效率
简介:ubeDL 为分布式训练作业带来了 HostNetwork 网络模式,支持计算节点之间通过宿主机网络相互通信以提升网络性能,同时适应 RDMA/SCC 等新型高性能数据中心架构的网络环境,此外 ...
- [Trading] 人物: 陈向忠日内交易技术核心 - 趋势形态与成交量
分时图判断趋势(开仓方向) 只要是低点不断抬高的,就是上涨趋势,高点是否提高是其次的. 只要是高点不断降低的那就是下降趋势,假如低点也在不断降低,那么这样的下降趋势就更加完美一些. 很多人就是看对了趋 ...