|
|
1.1 root 1: .TH C++ 1
2: .SH NAME
3: c++/2c, c++/kc, c++/vc, c++/8c, c++/2l, c++/kl, c++/vl, c++/8l \- C++ compilers and loaders
4: .SH SYNOPSIS
5: .PD 0
6: .B c++/2c
7: .RI [ options ]
8: .I file
9: \&...
10: .PP
11: .B c++/8c
12: .RI [ options ]
13: .I file
14: \&...
15: .PP
16: .B c++/kc
17: .RI [ options ]
18: .I file
19: \&...
20: .PP
21: .B c++/vc
22: .RI [ options ]
23: .I file
24: \&...
25: .PP
26: .B c++/2l
27: .RI [ options ]
28: .I file
29: \&...
30: .PP
31: .B c++/8l
32: .RI [ options ]
33: .I file
34: \&...
35: .PP
36: .B c++/kl
37: .RI [ options ]
38: .I file
39: \&...
40: .PP
41: .B c++/vl
42: .RI [ options ]
43: .I file
44: \&...
45: .PD
46: .SH DESCRIPTION
47: The c++
48: compilers,
49: .IR c++/?c,
50: compile the named C++
51: .I files
52: into object files for the specified architecture
53: (see
54: .IR 2c (1)).
55: They use
56: .IR cpp (1)
57: as the preprocessor,
58: .I cfront
59: 3.0.1 as the C++ to C translator, and
60: the appropriate C compiler such as
61: .IR 2c .
62: The c++ loaders,
63: .IR C++/?l ,
64: load object files using
65: appropriate object loaders (see
66: .IR 2l (1))
67: and
68: .BR patch ,
69: the C++ static constructor initializer.
70: .PP
71: The compilers and loaders use C++ and APE (ANSI C/POSIX)
72: include files and libraries.
73: .PP
74: Let the first letter of the base name of the compiler or loader be
75: .IR O =
76: .BR 2 ,
77: .BR 8 ,
78: .BR k ,
79: or
80: .BR v .
81: .PP
82: The compiler options are:
83: .TP 1i
84: .B -d
85: Don't expand inline functions.
86: .TP
87: .BI -o " obj"
88: Place output in file
89: .I obj
90: (allowed only if there is just one input file).
91: Default is to take the last element of the input path name,
92: strip any trailing
93: .BR .c ,
94: and append
95: .RI . O .
96: .TP
97: .B -v
98: Print the version number of the compiler
99: and the commands as they are executed.
100: A second
101: .B -v
102: causes the commands that would
103: be executed to be printed without actually executing them.
104: .TP
105: .B -w
106: Print warning messages.
107: .TP
108: .BI -x file
109: Take cross compiling information from
110: .IR file .
111: By default, this information is taken from
112: .BI /sys/lib/c++/ O .sz \f1.
113: .TP
114: .B -A
115: Complain about functions used without a new-style
116: ANSI function prototype.
117: .TP
118: .B -B
119: Turn off the action of the
120: .B -A
121: flag.
122: This option is on by default.
123: .TP
124: .BI -D name=def
125: .br
126: .ns
127: .TP
128: .BI -D name
129: Define the
130: .I name
131: to the preprocessor,
132: as if by
133: .LR #define .
134: If no definition is given, the name is defined as
135: .LR 1 .
136: .TP
137: .B -E
138: Print the preprocessed version of the file on standard output.
139: .TP
140: .B -F
141: Print the preprocessed and
142: .I cfronted
143: version of the file on standard output.
144: .TP
145: .BI -I dir
146: .L #include
147: files whose names do not begin with
148: .L /
149: are always
150: sought first in the directory
151: of the
152: .I file
153: argument,
154: then in directories named in
155: .B -I
156: options,
157: then in
158: .BR /$objtype/include/c++ ,
159: .BR /sys/include/c++ ,
160: .BR /$objtype/include/ape ,
161: and
162: .BR /sys/include/ape .
163: .TP
164: .B -O
165: Perform object code optimization.
166: This option is on by default.
167: .TP
168: .B -N
169: Turn off the action of the
170: .B -O
171: flag.
172: .TP
173: .B -S
174: Print an assembly language version of the object code
175: on standard output.
176: .TP
177: .BI -U name
178: Remove any initial definition of
179: .IR name .
180: .TP
181: .B -a
182: Instead of compiling, print on standard output acid functions (see
183: .IR acid (1))
184: for examining structures declared in the source files.
185: .PP
186: The loader options are:
187: .TP 1i
188: .BI -o " out"
189: Place output in file
190: .IR out .
191: Default is
192: .IB O .out\f1.
193: .SH EXAMPLE
194: To produce a MIPS executable
195: .B prog
196: from C++ files
197: .BR main.c ,
198: .BR sub.c ,
199: and using the task library:
200: .IP
201: .EX
202: c++/vc main.c sub.c
203: c++/vl -o prog main.v sub.v m.v -ltask
204: .EE
205: .SH FILES
206: .TF /$objtype/lib/ape/libap.a
207: .TP
208: .B /sys/include/c++
209: directory for machine-independent
210: .B #include
211: directives.
212: .TP
213: .B /sys/include/ape
214: directory for machine-independent
215: .B #include
216: directives.
217: .TP
218: .B /$objtype/include/c++
219: directory for machine-dependent
220: .B #include
221: directives.
222: .TP
223: .B /$objtype/include/ape
224: directory for machine-dependent
225: .B #include
226: directives.
227: .TP
228: .B /$objtype/lib/c++
229: C++ libraries.
230: .TP
231: .B /$objtype/lib/ape/libap.a
232: ANSI C/POSIX library.
233: .TP
234: .BI /sys/lib/c++/ O .sz
235: Cross-compilation information for
236: .BR cfront .
237: .TP
238: .B /$cputype/bin/c++/cfront
239: C++ to C translator.
240: .TP
241: .B /$cputype/bin/c++/patch
242: C++ static constructor initializer.
243: .SH SOURCE
244: .B /sys/src/c++
245: .SH "SEE ALSO"
246: .IR 2c (1),
247: .IR 2a (1),
248: .IR 2l (1),
249: .IR db (1),
250: .IR acid (1),
251: .IR cpp (1),
252: .IR mk (1),
253: .IR nm (1),
254: .IR pcc (1)
255: .SH BUGS
256: The task library works only for the MIPS and the SPARC.
257: The Interrupt class is not yet supported.
258: The source to the translator is not included in the distribution.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.