HP OpenVMS Systems Documentation
The following product names may appear in this manual:
All three names---the longer form and the two abbreviated forms---refer to the version of the OpenVMS operating system that runs on the Intel® Itanium® architecture.
The following table lists the conventions used in this manual:
The following table shows certain references and their respective meanings in this manual:
|Alpha||OpenVMS Alpha or Tru64 UNIX operating system|
|OpenVMS||OpenVMS Alpha or OpenVMS I64 or OpenVMS VAX operating system|
|Tru64 UNIX||Tru64 UNIX operating system|
|DECset||DECset for OpenVMS|
Tru64 UNIX was formerly known as Compaq Tru64 Unix, DEC OSF/1, or as DIGITAL UNIX. HP COBOL was formerly known as Compaq COBOL, DIGITAL COBOL, or DEC COBOL. HP COBOL for OpenVMS VAX was formerly known as Compaq COBOL for OpenVMS VAX, VAX COBOL, or as DIGITAL VAX COBOL.
COBOL is an industry language and is not the property of any company or group of companies, or of any organization or group of organizations.
No warranty, expressed or implied, is made by any contributor or by the CODASYL COBOL Committee as to the accuracy and functioning of the programming system and language. Moreover, no responsibility is assumed by any contributor, or by the committee, in connection therewith.
The authors and copyright holders of the copyrighted material used herein are as follows: FLOW-MATIC (trademark of Unisys Corporation), Programming for the UNIVAC (R) I and II, Data Automation Systems, copyrighted 1958, 1959, by Unisys Corporation; IBM Commercial Translator Form No. F28-8013, copyrighted 1959 by IBM; FACT, DSI 27A5260-2760, copyrighted 1960 by Minneapolis-Honeywell.
They have specifically authorized the use of this material, in whole or in part, in the COBOL specifications. Such authorization extends to the reproduction and use of COBOL specifications in programming manuals or similar publications.
For information about how to order additional documentation, visit the following World Wide Web address:
HP welcomes your comments on this manual. Please send comments to either of the following addresses:
OSSG Documentation Group, ZKO3-4/U08
110 Spit Brook Rd.
Nashua, NH 03062-2698
HP COBOL is a family of powerful COBOL compilers produced by Hewlett-Packard Company. HP COBOL operates comfortably in the HP common language environment; on Alpha, it is based on GEM, which is the highly advanced code generator and optimizer that Hewlett-Packard uses in its Alpha family of languages, which includes COBOL, C, C++, FORTRAN, BASIC, Ada, and PASCAL. In addition to standard COBOL features, HP COBOL includes extensions that make new application development efficient and effective, with features helpful in porting legacy COBOL programs to OpenVMS Alpha, OpenVMS I64, and Tru64 UNIX systems.
This section briefly describes the Tru64 UNIX commands (commands used
at the operating system prompt) that you use to create, compile, link,
and run HP COBOL programs on Tru64 UNIX systems.
1.1.1 Creating an HP COBOL Program on Tru64 UNIX
% vi prog1.cob
Figure 1-1 shows the basic steps in HP COBOL program development on Tru64 UNIX systems.
Figure 1-1 Commands for Developing HP COBOL Programs on Tru64 UNIX
Table 1-1 shows other file name suffixes.
|.c||Identifies C language files passed to the C compiler driver cc , which performs additional command line parsing before invoking the C language compiler.|
|.s||Identifies assembler files passed to cc . HP COBOL does not generate .s files.|
|.o||Identifies object files passed to cc , which are in turn passed to ld .|
|.a||Identifies archive object libraries passed to cc , which are in turn passed to ld . All routines in the specified object library will be searched during linking to resolve external references. This is one method of specifying special libraries for which the cobol command does not automatically search.|
|.so||Identifies shared object libraries passed to cc , which are in turn passed to ld . All routines in the specified object library will be searched during linking to resolve external references. This is one method of specifying special libraries for which the cobol command does not automatically search.|
The following cobol command compiles the program named prog1.cob and automatically uses the linker ld to link the main program into an executable program file named a.out (the name used if you do not specify a name):
% cobol prog1.cob
The cobol command automatically passes a standard default list of Tru64 UNIX and HP COBOL libraries to the ld linker. If all external routines used by a program reside in these standard libraries, additional libraries or object files are not specified on the cobol command line.
If your path definition includes the directory containing a.out , you can run the program by simply typing its name:
If the executable image is not in your current directory path, specify the directory path in addition to the file name.
As you write a program, you can use the COPY statement in your source program to include text from another file. With the COPY statement, separate programs can share common source text kept in libraries, reducing development and testing time as well as storage. The HP COBOL Reference Manual explains how to use the COPY statement.
If you have a program or routine named "main," declared either in an HP COBOL or other module, your application may not work correctly. The HP COBOL library contains a routine named "main," which initializes the run-time environment for the CALL by data name statements, extended ACCEPT and DISPLAY statements, and some error handling. When your application also declares a "main," your routine preempts the HP COBOL routine, and the run-time initialization is not performed.