term% cat index.txt C++(1) General Commands Manual C++(1)
NAME
c++/2c, c++/kc, c++/vc, c++/8c, c++/2l, c++/kl, c++/vl, c++/8l - C++
compilers and loaders
SYNOPSIS
c++/2c [options] file ...
c++/8c [options] file ...
c++/kc [options] file ...
c++/vc [options] file ...
c++/2l [options] file ...
c++/8l [options] file ...
c++/kl [options] file ...
c++/vl [options] file ...
DESCRIPTION
The c++ compilers, c++/?c, compile the named C++ files into object
files for the specified architecture (see 2c(1)). They use cpp(1) as
the preprocessor, cfront 3.0.1 as the C++ to C translator, and the ap‐
propriate C compiler such as 2c. The c++ loaders, C++/?l, load object
files using appropriate object loaders (see 2l(1)) and patch, the C++
static constructor initializer.
The compilers and loaders use C++ and APE (ANSI C/POSIX) include files
and libraries.
Let the first letter of the base name of the compiler or loader be O=
2, 8, k, or v.
The compiler options are:
-d Don't expand inline functions.
-o obj Place output in file obj (allowed only if there is just one
input file). Default is to take the last element of the in‐
put path name, strip any trailing .c, and append .O.
-v Print the version number of the compiler and the commands as
they are executed. A second -v causes the commands that
would be executed to be printed without actually executing
them.
-w Print warning messages.
-xfile Take cross compiling information from file. By default, this
information is taken from /sys/lib/c++/O.sz.
-A Complain about functions used without a new-style ANSI func‐
tion prototype.
-B Turn off the action of the -A flag. This option is on by de‐
fault.
-Dname=def
-Dname Define the name to the preprocessor, as if by If no defini‐
tion is given, the name is defined as
-E Print the preprocessed version of the file on standard out‐
put.
-F Print the preprocessed and cfronted version of the file on
standard output.
-Idir files whose names do not begin with are always sought first
in the directory of the file argument, then in directories
named in -I options, then in /$objtype/include/c++, /sys/in‐
clude/c++, /$objtype/include/ape, and /sys/include/ape.
-O Perform object code optimization. This option is on by de‐
fault.
-N Turn off the action of the -O flag.
-S Print an assembly language version of the object code on
standard output.
-Uname Remove any initial definition of name.
-a Instead of compiling, print on standard output acid functions
(see acid(1)) for examining structures declared in the source
files.
The loader options are:
-o out Place output in file out. Default is O.out.
EXAMPLE
To produce a MIPS executable prog from C++ files main.c, sub.c, and us‐
ing the task library:
c++/vc main.c sub.c
c++/vl -o prog main.v sub.v m.v -ltask
FILES
/sys/include/c++
directory for machine-independent #include directives.
/sys/include/ape
directory for machine-independent #include directives.
/$objtype/include/c++
directory for machine-dependent #include directives.
/$objtype/include/ape
directory for machine-dependent #include directives.
/$objtype/lib/c++
C++ libraries.
/$objtype/lib/ape/libap.a
ANSI C/POSIX library.
/sys/lib/c++/O.sz
Cross-compilation information for cfront.
/$cputype/bin/c++/cfront
C++ to C translator.
/$cputype/bin/c++/patch
C++ static constructor initializer.
SOURCE
/sys/src/c++
SEE ALSO
2c(1), 2a(1), 2l(1), db(1), acid(1), cpp(1), mk(1), nm(1), pcc(1)
BUGS
The task library works only for the MIPS and the SPARC. The Interrupt
class is not yet supported. The source to the translator is not in‐
cluded in the distribution.
C++(1)