条件编译

根据 DEFINE 伪指令指定的字面值,条件编译提供了一种包含或省略所选源代码行的方法。 通过这种方式,您可以创建同一程序的多个变体,而无需维护单独的源流。

用于条件编译的编译器伪指令是 DEFINE 伪指令, EVALUATE 伪指令和 IF 伪指令。 DEFINE 伪指令用于定义 EVALUATE 和 IF 伪指令中引用的编译变量,以选择要在编译组中包含或省略的源代码行。

根据以下规则处理条件编译伪指令:
  • 在源文件中,如果条件编译伪指令出现在 COPY 或 REPLACE 语句之前,那么会在处理 COPY 或 REPLACE 语句之前处理该伪指令。 这意味着可以使用条件编译伪指令从程序中排除 COPY 和 REPLACE 语句。
  • 作为 REPLACE 语句或 COPY 语句的 REPLACE 短语的结果而进行的替换不会影响条件编译伪指令。
  • 条件编译伪指令可能出现在副本中。
注: 条件编译伪指令可以包含在包含基底语句的文件中,但在该文件中,条件编译伪指令不会控制包含或排除该文件中的源。 相反,将像基底文件中任何其他不是 INSERT 或 DELETE 语句的源行一样处理条件编译伪指令,这些伪指令将传递到正在组装的源,以便稍后在库阶段进行处理。
相关参考资料
定义
评估
如果
示例:条件编译输出( COBOL for Linux® on x86 《编程指南》