Converted from .HLP to .HTML by HLPTOHTML.

cc .HLP

Command_Parameters

file-spec,...

One or more VAX C source files separated by plus signs or commas. If plus signs are used, the input files are concatenated into a single object file. If commas are used, each file is compiled separately to create separate object files. If no input file extension is specified, VAX C assumes the .C default file extension.

library-file-spec

A text library containing #include modules referenced in one or more of the source files. A library file specification must be concatenated with a file specification with a plus sign and qualified using the /LIBRARY qualifier. If the input file extension is not specified, VAX C assumes the .TLB default file extension.

Qualifiers

Indicate special actions to be performed by the compiler or special input file properties. Compiler qualifiers can apply to either the CC command or to the specification of the file being compiled. When a qualifier follows the CC command, it applies to all the files listed. When a qualifier follows the file specification, it applies only to the file immediately preceding it.

The following list shows all the qualifiers available with the CC command:

o /[NO]ANALYSIS_DATA[=file-spec]

o /[NO]CROSS_REFERENCE

o /[NO]DEBUG[=(options,...)]

o /[NO]DEFINE=(identifier[=definition][,...])

o /[NO]DESIGN[=(keyword[,...])]

o /[NO]DIAGNOSTICS[=file-spec]

o /[NO]G_FLOAT

o /[NO]INCLUDE_DIRECTORY=(pathname [,pathname...]]

o /LIBRARY

o /[NO]LIST[=file-spec]

o /[NO]MACHINE_CODE[=option]

o /NAME=(UPPERCASE,LOWERCASE,AS_IS)

o /[NO]OBJECT[=file-spec]

o /[NO]OPTIMIZE[=option]

o /[NO]PARALLEL

o /PRECISION=(SINGLE,DOUBLE)

o /[NO]PREPROCESS_ONLY[=filename]

o /SHOW[=option]

o /[NO]STANDARD=[NO]PORTABLE

o /[NO]UNDEFINE=(identifier[,...])

o /[NO]WARNINGS[=option]

/ANALYSIS_DATA [=file-spec]

/NOANALYSIS_DATA[=file-spec] (D)

Controls whether the compiler generates a file of source code analysis information. The default file name is the file name of the primary source file; the default file type is .ANA.

/CROSS_REFERENCE

/NOCROSS_REFERENCE (D)

Specifies whether the compiler is to generate cross-references. If you specify /CROSS_REFERENCE, the compiler lists, for each variable referenced in the procedure, the line numbers of the lines on which the variable is referenced. You must use the /CROSS_REFERENCE qualifier with either the /SHOW=SYMBOLS or the /SHOW=BRIEF qualifiers. To obtain any type of listing, you must specify /LIST.

/DEBUG[=(options,...)] (D=TRACEBACK,NOINLINE)

/NODEBUG

Requests that information be included in the object module for use with the VAX Symbolic Debugger. You can select the following options:

ALL Includes all possible debug information

INLINE Tells the compiler to generate debug information to cause a STEP to step into the inlined function call

NOINLINE Tells the compiler to generate debug information to cause a STEP to step over the inlined function call

NONE Do not include any debugging information

NOTRACEBACK Do not include traceback records

TRACEBACK Include only traceback records

If you use /DEBUG without specifying any option, the default is /DEBUG=NOINLINE.

/DEFINE=(identifier[=definition][,...])

/NODEFINE (D)

/DEFINE performs the same function as the #define preprocessor directive. That is, /DEFINE defines a token string or macro to be substituted for every occurrence of a given identifier in the program.

DCL converts all input to uppercase unless it is enclosed in quotation marks.

The simplest form of a /DEFINE definition is as follows:

/DEFINE=true

This results in a definition like the one that would result from the following definition:

#define TRUE 1

Macro definitions must be enclosed in quotation marks as seen in the following definition:

/DEFINE="funct(a)=a+sin(a)"

This definition produces the same results as the following definition:

#define funct(a) a+sin(a)

When more than one /DEFINE is present on the CC command line or in a single compilation unit, only the last /DEFINE is used.

When both /DEFINE and /UNDEFINE are present in a command line, /DEFINE is evaluated before /UNDEFINE.

The default is /NODEFINE.

/DESIGN[=(keyword[,...])]

/NODESIGN (D)

The /DESIGN qualifier determines whether the compiler processes the input file as a detailed design. If you specify the /DESIGN qualifier, the compiler modifies its parsing and semantics according to keywords you supply. This qualifier is intended for use in conjunction with the VAXset Program Design Facility.

[NO]COMMENTS Determines whether the compiler searches inside comment for program design information. The default is COMMENTS.

[NO]PLACEHOLDERS Determines whether the compiler treats placeholders withing the program as valid syntax. The default is PLACEHOLDERS. listing.

The default option is /DESIGN=(COMMENTS, PLACEHOLDERS).

/DIAGNOSTICS[=file-spec]

/NODIAGNOSTICS (D)

The /DIAGNOSTICS qualifier creates a file containing compiler messages and diagnostic information. The default file extension for a diagnostics file is .DIA. The diagnostics file is primarily for use with DIGITAL's layered products, which flag errors in source code files.

/G_FLOAT

/NOG_FLOAT (D)

Controls the format of floating-point variables. When /G_FLOAT is not specified, double variables are represented in D-float format. When /G_FLOAT is specified, all variables declared as double are represented in G-float format. A program compiled with /G_FLOAT must be linked with the G-float library, VAXCRTLG.OLB. This library must be specified so that it is searched before VAXCRTL.OLB.

/INCLUDE_DIRECTORY=(pathname [,pathname...]]

/NOINCLUDE_DIRECTORY (D)

Provides an additional level of search for user-defined include files. Each pathname argument can be either a logical name or a legal directory specification, in quoted form.

The /INCLUDE_DIRECTORY qualifier provides the functionality of the -i qualifier in PCC on ULTRIX. This qualifier allows you to specify additional directories to search for include files. The forms of inclusion are the #include "file-spec" and #include <file-spec> forms. For the quoted form, the order of search is as follows:

1. The directory containing the source file

2. The directories specified in the /INCLUDE qualifier (if any)

3. The directory or search list of directories specified in the logical name C$INCLUDE (if any)

For the bracketed form, the order of search is as follows:

1. The directories specified in the /INCLUDE qualifier (if any)

2. The directory or search list of directories specified in the logical name VAXC$INCLUDE (if any)

3. If VAXC$INCLUDE is not defined, then the directory or search list of directories specified by SYS$LIBRARY

/LIBRARY

Indicates that the associated input file is a library containing source text modules specified in #include directives. The compiler searches the specified library for all #include module names that are not enclosed in angle brackets or quotation marks. The name of the library must be concatenated with the file specification using a plus sign. For example:

CC DATAB/LIBRARY+APPLIC

/LIST[=file-spec] (Batch default)

/NOLIST (Interactive default)

Controls whether a listing file is produced. The default output file extension is .LIS.

/MACHINE_CODE[=option]

/NOMACHINE_CODE (D)

Controls whether the listing produced by the compiler includes the machine language code generated during the compilation. If you use this qualifier you also need to use the /LIST qualifier. The three options are as follows:

AFTER The machine code produced during compilation prints after the source code listing.

BEFORE The machine code prints before the source code listing.

INTERSPERSED The lines of machine code print alternately with the lines of source code.

The default option is INTERSPERSED.

/NAME={UPPERCASE,LOWERCASE,AS_IS}

/NAME=UPPERCASE (D)

Specifies whether the compiler translates all external symbol names to uppercase, lowercase or leaves the case unchanged. /NAMES=UPPERCASE is the default, and causes all external names to be converted to uppercase. /NAMES=LOWERCASE causes all external names to be converted to lowercase. /NAMES=AS_IS leaves the case of external names unchanged.

/OBJECT[=file-spec] (D)

/NOOBJECT

Controls whether the compiler produces an output object module. The default output file extension is .OBJ.

/OPTIMIZE[=option] (D)

/NOOPTIMIZE

Controls whether optimization is performed by the compiler. /NOOPTIMIZE turns off the /PARALLEL qualifier. The two options are as follows:

[NO]DISJOINT Directs the compiler to optimize the generated machine code.

[NO]INLINE Specifies whether the compiler is allowed to perform the function inline optimization.

/PARALLEL

/NOPARALLEL (D)

Specifies whether the compiler should perform dependency analysis on loops in the program and generate optimized code to run on a multiprocessor system for loops with no dependencies.

/PRECISION=(SINGLE,DOUBLE)

/PRECISION=DOUBLE (D)

Controls whether floating-point operations on float variables are performed in single or double precision.

/PREPROCESS_ONLY[=filename]

/NOPREPROCESS (D)

Causes the compiler to perform only the actions of the preprocessor phase and write the resulting processed text out to a file.

/SHOW=(option,...) D=(SOURCE)

This qualifier is used with the /LIST qualifier to set or cancel specific listing options. You can select the following options:

ALL Print all listing information.

BRIEF Print a brief symbol table, listing only those identifiers that are referenced in the program

[NO]DECOMPOSITION Show/do not show a summary of the loops that were decomposed. Must use with the /LIST and /PARALLEL qualifiers for /SHOW=DECOMPOSITION to take effect. (D = NODECOMPOSITION)

[NO]DICTIONARY Print/do not print Common Data Dictionary definitions (D = NODICTIONARY)

[NO]EXPANSION Print/do not print macro expansions (D = NOEXPANSION)

[NO]INCLUDE Print/do not print contents of #include files (D = NOINCLUDE)

[NO]INTERMEDIATE Print/do not print intermediate macro expansions (D = NOINTERMEDIATE)

NONE Print no listing information

[NO]SOURCE Print/do not print source file statements (D = SOURCE)

[NO]STATISTICS Print/do not print compiler performance statistics (D = NOSTATISTICS)

[NO]SYMBOLS Print/do not print symbol table (D = NOSYMBOLS)

[NO]TERMINAL Display/do not display compiler messages at the terminal. If NOTERMINAL is specified, only the summary message is displayed. (D = TERMINAL)

[NO]TRANSLATION Display/do not display the translation of a UNIX* system file specification to a VAX/VMS file specification. (D = NOTRANSLATION)

---------- * UNIX is a registered trademark of American Telephone and Telegraph Company.

/STANDARD=[NO]PORTABLE (D=NOPORTABLE)

Specifies whether the compiler is to generate messages to flag VAX C specific constructs and deviation from conventional C constructs and rules (PORTABLE), or not to generate such messages (NOPORTABLE).

The default is /STANDARD=NOPORTABLE.

/UNDEFINE=(identifier[,...])

/NOUNDEFINE (D)

/UNDEFINE performs the same function as the #undef preprocessor directive--it cancels a macro definition.

The /UNDEFINE qualifier is useful for undefining the predefined VAX C preprocessor constants. For example, if you use a preprocessor constant (such as vaxc, VAXC, VAX11C, or vms) to conditionally compile segments of VAX C specific code, you can undefine constants to see how the portable sections of your program execute. For example:

/UNDEFINE="vaxc"

When both /DEFINE and /UNDEFINE are present on the CC command line, /DEFINE is evaluated before /UNDEFINE.

The default is /NOUNDEFINE.

/WARNINGS[=option] (D=/WARNINGS)

/NOWARNINGS

Controls whether the compiler prints warning diagnostic messages, informational diagnostic messages, neither, or both. The two options are as follows:

NOINFORMATIONALS NOWARNINGS

The /WARNINGS qualifier alone forces the compiler to print both informationals and warnings (the same as if no qualifier were used on the command line). The /NOWARNINGS qualifier forces the compiler to suppress both informationals and warnings. The /WARNINGS=NOINFORMATIONALS qualifier forces the compiler to suppress the informationals. The /WARNINGS=NOWARNINGS qualifier forces the compiler to suppress warnings.

Errors

VAX C compiler error messages.

Additional Information on:

Language_topics

VAX C language topics

Additional Information on:

Link_libraries

You are to define the logicals LNK$LIBRARY_n as the libraries SYS$LIBRARY:VAXCCURSE, SYS$LIBRARY:VAXCRTLG, and SYS$LIBRARY:VAXCRTL. Depending on the needs of your program, you may have to access one, two, or all three libraries. In any case, you must adhere to the following rules for defining libraries for the linker to search:

o If you do not need to use the Curses Screen Management package of VAX C RTL functions and macros, and you do not use the /G_FLOAT qualifier on the CC command line, you must define the logical as follows:

$ DEFINE LNK$LIBRARY SYS$LIBRARY:VAXCRTL

o If you plan to use the /G_FLOAT qualifier with the CC command line, but do not plan on using Curses, you must define the logicals as follows:

$ DEFINE LNK$LIBRARY SYS$LIBRARY:VAXCRTLG $ DEFINE LNK$LIBRARY_1 SYS$LIBRARY:VAXCRTL

o If you plan to use the Curses Screen Management package, but do not plan to use the /G_FLOAT qualifier, you must define the logicals as follows:

$ DEFINE LNK$LIBRARY SYS$LIBRARY:VAXCCURSE $ DEFINE LNK$LIBRARY_1 SYS$LIBRARY:VAXCRTL

o Finally, if you plan to use both Curses and the /G_FLOAT qualifier, you must define the three logicals in the following order:

$ DEFINE LNK$LIBRARY SYS$LIBRARY:VAXCCURSE $ DEFINE LNK$LIBRARY_1 SYS$LIBRARY:VAXCRTLG $ DEFINE LNK$LIBRARY_2 SYS$LIBRARY:VAXCRTL

Do not use search lists to define the equivalence names for LNK$LIBRARY_n. The linker will not resolve external references to the VAX C RTL functions in the proper manner.

Using the object code of the VAX C RTL functions is one of two options. You can also use the VAX C RTL as a shared image to reduce the space your program's image takes on disk and to increase its execution rate. For more information about the shared-image option, see the VAX C Run-Time Library Reference Manual.

Run-time_functions

In the Curses Screen Management Package, there are pairs of functions and macros with equivalent functionality. Many Curses functions and macros are expressed as follows:

[w]addch [no]echo

The descriptions of the addch macro and the waddch function are found under the heading, [w]addch. The descriptions of the macros echo and noecho are found under the heading, [no]echo. For more information about Curses Screen management functions and macros, see HELP CC RUN-TIME_FUNCTIONS CURSES and HELP CC LINK_LIBRARIES.

All other VAX C Run-time Library functions are listed under separate headings.

Additional Information on:

Release_Notes

The release notes for VAX C are contained in the following file:

SYS$HELP:VAXC031.RELEASE_NOTES

You can type or print this file to read the release notes information.

Socket_Routines

Socket routines are used in writing Internet application programs for the VMS/ULTRIX Connection product.

Additional Information on: