在源代码中嵌入编译器选项

Mic*_*ter 2 cobol zos

我正在将一些COBOL代码从zOS移动到Linux,并在COBOL程序的顶部偶然发现了这段代码:

   CBL DATEPROC(FLAG),YEARWINDOW(-90)                               004220CB
   ID DIVISION.                                                     004220CB
   PROGRAM-ID.   AL0001.                                            004220C
Run Code Online (Sandbox Code Playgroud)

是COBOL编译器检测到的那些编译器选项,还是它们对某种第三方预处理器的指令.

我个人的猜测是,它是第三方处理器,处理代码中的Y2K问题.

pie*_*t.t 7

使用IBM的Enterprise COBOL,该CBL语句是提供编译器选项的几种方法之一.

您的示例中的选项有点特殊,因为IBM 在从版本4迁移到版本5时放弃了Y2K支持,因此选项DATEPROCYEARWINDOW选项.对于V5编译器,它们应该由编译器标记,但不应导致编译 -错误.