The Header-to-copy utility can be run directly from the command line or it can be invoked automatically using the PREPROCESS(headers) Compiler directive. The Headers preprocessor allows C header files, with an extension of .h, to be specified in a COPY statement in a COBOL source file. The preprocessor recognizes these as C header files and uses the Header-to-copy utility to convert them. This can be very convenient for relatively small header files.
To invoke the Header-to-copy utility from the command line, type:
h2cpy {[filename] [option]} ...
where the parameters are:
| filename | The C-language header file to be converted to a COBOL copyfile |
| option | An H2cpy command-line option |
If you do not specify option or filename, a list of available options is displayed.
Note: C header files that require other header files that have been previously processed in the same run cannot be processed on their own by the C compiler. Similarly, H2cpy can only translate a standalone header file, or a complete set of header files. Any macro-names that need specifying in the C compiler command line, and any macros predefined by a particular compiler, might need to be specified on the H2cpy command line. For example, Microsoft-specific predefined macros include:
| CHAR_UNSIGNED |
| _CPPUNWIND |
| _DLL |
| _M_IX86 |
| _MSC_VER |
| _MT |
| _WIN32 |
| _CPPRTTI |
| _M_ALPHA |
| _M_MPPC |
| _M_MRXOOO |
| _M_MPPC |
| _MFC_VER |
| _MT |
Do not specfiy the __cplusplus macro as H2cpy is not suitable for C++ headers.
ANSI C predefined macros that might need to be specified on the command line using the -D option include:
| __DATE__ |
| __FILE__ |
| __LINE__ |
| __STDC__ |
| __TIME__ |
| __TIMESTAMP__ |
Groups of macro definitions can be held in the h2cpy.dir file. See the h2cpy option -G option for details.
Related Topics: