目录:
定义-预处理程序指令是什么意思?
预处理程序伪指令是程序中包含的以字符#开头的行,这使它们与典型的源代码文本不同。 它们由编译器调用以在编译之前处理某些程序。 预处理程序指令更改源代码的文本,结果是没有这些指令的新源代码。
尽管C#中的预处理在概念上与C / C ++中的相似,但在两个方面有所不同。 首先,C#中的预处理不涉及在编译之前执行预处理器的单独步骤。 它被处理为词法分析阶段的一部分。 其次,它不能用于创建宏。 另外,C#中添加了新的指令#region和#unregion,同时排除了先前使用的某些指令(#include是一个引人注目的指令,其用法已替换为“ using”以包含程序集)。
Java不支持预处理器指令。
Techopedia解释了预处理程序指令
通常将预处理器指令放在源代码的顶部,以字符“#”开头,并在其后分别加上指令名称和可选的空白。 因为必须使用预处理器指令声明的同一行上的注释,并且不能滚动到下一行,所以不能使用定界注释。 预处理程序指令语句不得以分号(;)结尾。 可以在源代码或公共行中将预处理器指令定义为编译期间的参数。
可以在C#中使用的预处理指令的示例包括:
- #define和#undef:分别定义和取消定义条件编译符号。 可以在编译过程中检查这些符号,并可以编译所需的源代码部分。 符号的范围是定义它的文件。
- #if,#elif,#else和#endif:根据条件跳过部分源代码。 条件部分可以嵌套有形成完整集合的指令。
- #line:控制为错误和警告生成的行号。 元编程工具通常将其用于从某些文本输入生成C#源代码。 它通常用于修改编译器在其输出中报告的行号和源文件名。
- #error和#warning:分别生成错误和警告。 #error用于停止编译,而#warning用于在控制台中继续编译消息。
- #region和#endregion:显式标记源代码的各个部分。 这些允许在Visual Studio中进行扩展和折叠,以获得更好的可读性和参考。