Встраивание параметров компилятора в исходный код - PullRequest
0 голосов
/ 02 июля 2018

Я перемещаю некоторый код COBOL из zOS в Linux и наткнулся на этот код в верхней части программы на COBOL:

   CBL DATEPROC(FLAG),YEARWINDOW(-90)                               004220CB
   ID DIVISION.                                                     004220CB
   PROGRAM-ID.   AL0001.                                            004220C

Это те параметры компилятора, которые обнаруживает компилятор COBOL, или инструкции для какого-либо стороннего препроцессора.

Мое личное предположение состоит в том, что это сторонний процессор, который решает проблемы, связанные с Y2K в коде.

1 Ответ

0 голосов
/ 02 июля 2018

В IBM Enterprise COBOL оператор CBL является одним из нескольких способов предоставления опций компилятора.

Опции в вашем примере представляют собой особый случай, поскольку IBM отказалась от поддержки Y2K и, таким образом, опции DATEPROC и YEARWINDOW при переходе с версии 4 на версия 5. В компиляторах V5 они должны быть помечены компилятором, но не должны приводить к ошибке компиляции.

...