什么是“预处理”?

发布网友

我来回答

3个回答

热心网友

使用术语“预处理指令”只是为了与 C 和 C++ 编程语言保持一致。在 C# 中没有单独的预处理步骤;预处理指令按词法分析阶段的一部分处理。
pp-directive:(pp 指令:)
pp-declaration(pp 声明)
pp-conditional(pp 条件)
pp-line(pp 行)
pp-diagnostic(pp 诊断)
pp-region(pp 区域)
下面是可用的预处理指令:
#define 和 #undef,分别用于定义和取消定义条件编译符号。
#if、#elif、#else 和 #endif,用于按条件跳过源代码中的节。
#line,用于控制行号(在发布错误和警告信息时使用)。
#error 和 #warning,分别用于发出错误和警告。
#region 和 #endregion,用于显式标记源代码中的节。
预处理指令总是占用源代码中的单独一行,并且总是以 # 字符和预处理指令名称开头。# 字符的前面以及 # 字符与指令名称之间可以出现空白符。
包含#define、#undef、#if、#elif、#else、#endif 或 #line 指令的源代码行可以用单行注释结束。在包含预处理指令的源行上不允许使用带分隔符的注释(/* */ 样式的注释)。
预处理指令既不是标记,也不是 C# 句法文法的组成部分。但是,可以用预处理指令包含或排除标记序列,并且可以以这种方式影响 C# 程序的含义。

热心网友

用法(pragma)是一种特殊类型的模块,它影响你的程序编译阶段。有些用法模块可以影响程序的 运行阶段。把它们当作一种编译器提示。因为它们需要在编译时出现,所以只有通过 use 或者 no 调用它们的时候它们才能运转,而到了 require 或者 do 运行的时候,编译早就完了。习惯上,用法名字都是用小写字符写的,因为小写模块名字是为 Perl 版本自己保留的。在写你自己的模块的时候,至少在模块名字中使用一个大写字符以避免和用法名字冲突。和普通模块不同的是,大多数用法把它们的影响局限于调用它们的最内层的闭合块。换句话说, 它们是词法范围的,就好象 my 变量一样。通常,一个外层块的词法范围包括任何嵌在它内部的 内层块,但是内层块可以用 no 语句撤消一个来自外层块的词法范围用法: use strict; use integer; 用法模块比 Perl 带的其他模块里这种用法更多一些,而它们也形成了完成而又基本的 Perl 编译环境。如果你不知道怎样给编译器传递提示,那么你很难把编译器用好,因为我们将在描述用法上 下一些工夫。另外一件要注意的事情是我们经常拿用法做特性原型,稍后便把它们编码成“真正”的语法。因此 你会在一些程序里看到废弃了的用法,比如 use attrs,现在它的功能已经是子过程声明语法直接 支持了的部分了。类似的,use vars 现在正处在被 our 声明代替的过程中。而 use subs 可能 将来会被普通子过程声明中的 override 属性代替。我们现在正快得可怕地破坏做事情的老方法, 但是我们认为新方法更漂亮一些。]

热心网友

LZ应该问的是环保预处理 环保预处理就是针对终端处理,提前进行去除部分污染物,或降低浓度的方法,使得进入终端处理的废气或者废水能达到当地的排放标准。]

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com