|
|
1.1 root 1: 1 GCC
2: The GCC command invokes the GNU C compiler.
3:
4: GCC file-spec
5:
6: 2 Parameters
7:
8: file-spec
9:
10: A C source file. If no input file extension is specified, GNU C
11: assumes .C as the default extension.
12:
13: 2 Qualifiers
14:
15: GNU C command qualifiers modify the way the compiler handles the
16: compiliation.
17:
18: The following is the list of available qualifiers for GNU C:
19:
20:
21: /CC1_OPTIONS=(option [,option...]])
22:
23: /DEBUG
24:
25: /DEFINE=(identifier[=definition][,...])
26:
27: /INCLUDE_DIRECTORY=(path [,path...]])
28:
29: /MACHINE_CODE
30:
31: /OPTIMIZE
32:
33: /UNDEFINE=(identifier[,identifier,...])
34:
35: /VERBOSE
36:
37:
38: 2 Linking
39:
40: When linking programs compiled with GNU C, you should include the GNU
41: C library before the VAX C library. For example,
42:
43: LINK object-file,GNU_CC:[000000]GCCLIB/LIB,SYS$LIBRARY:VAXCRTL/LIB
44:
45: You can also link your program with the shared VAX C library. This
46: can reduce the size of the .EXE file, as well as make it smaller
47: when it's running. For example,
48:
49: $ LINK object-file, GNU_CC:[000000]GCCLIB/LIB,SYS$INPUT:/OPTIONS
50: SYS$SHARE:VAXCRTL/SHARE
51:
52: (If you use the second example and type it in by hand, be sure to type
53: ^Z after the last carriage return)
54:
55: 2 /DEBUG
56:
57: /DEBUG includes additional information in the object file output so
58: that the program can be debugged with the VAX Symbolic Debugger.
59: This qualifier includes very little information, so using the
60: debugger is somewhat difficult.
61:
62: 2 /DEFINE=(identifier[=definition][,...])
63:
64: /DEFINE defines a string or macro ('definition') to be substituted
65: for every occurrence of a given string ('identifier') in a program.
66: It is equivalent to the #define preprocessor directive.
67:
68: All definitions and identifiers are converted to uppercase unless they
69: are in quotation marks.
70:
71: The simple form of the /DEFINE qualifier,
72:
73: /DEFINE=vms
74:
75: results in a definition equivalent to the preprocessor directive
76:
77: #define VMS 1
78:
79: You must enclose macro definitions in quotation marks, as in this
80: example:
81:
82: /DEFINE="C(x)=((x) & 0xff)"
83:
84: This definition is the same as the preprocessor definition
85:
86: #define C(x) ((x) & 0xff)
87:
88: If more than one /DEFINE is present on the GCC command line, only
89: the last /DEFINE is used.
90:
91: If both /DEFINE and /UNDEFINE are present on a command line, /DEFINE
92: is evaluated before /UNDEFINE
93:
94: 2 /INCLUDE_DIRECTORY=(path [,path...])
95:
96: The /INCLUDE_DIRECTORY qualifier provides additional directories to
97: search for user-defined include files. 'path' can be either a
98: logical name or a directory specification.
99:
100: There are two forms for specifying include files - #include "file-spec"
101: and #include <file-spec>. For the #include "file-spec" form, the search
102: order is:
103:
104: 1. The directory containing the source file.
105:
106: 2. The directories in the /INCLUDE qualifier (if any).
107:
108: 3. The directory (or directories) specified in the logical name
109: GNU_CC_INCLUDE.
110:
111: 4. The directory (or directories) specified in the logical name
112: SYS$LIBRARY.
113:
114: For the #include <file-spec> form, the search order is:
115:
116: 1. The directories specified in the /INCLUDE qualifier (if any).
117:
118: 2. The directory (or directories) specified in the logical name
119: GNU_CC_INCLUDE.
120:
121: 3. The directory (or directories) specified in the logical name
122: SYS$LIBRARY.
123:
124: 2 /MACHINE_CODE
125:
126: Tells GNU C to output the machine code generated by the compiler. Note
127: that no object file is produced when /MACHINE_CODE is specified. The
128: machine code is output to a file with the same name as the input file,
129: with the extension .S.
130:
131: 2 /OPTIMIZE
132: /NOOPTIMIZE
133:
134: Controls whether optimization is performed by the compiler. By default,
135: optimization is on. /NOOPTIMIZE turns optimization off.
136:
137: 2 /UNDEFINE
138:
139: /UNDEFINE cancels a macro definition. Thus, it is the same as the
140: #undef preprocessor directive.
141:
142: If more than one /UNDEFINE is present on the GCC command line, only
143: the last /UNDEFINE is used.
144:
145: If both /DEFINE and /UNDEFINE are present on a command line, /DEFINE
146: is evaluated before /UNDEFINE
147:
148: 2 /VERBOSE
149:
150: Controls whether the user sees the invocation command strings for the
151: preprocessor, compiler, and assembler. The compiler also outputs
152: some statistics on time spent in its various phases.
153:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.