|
» |
|
|
|
NAMEcc_bundled: cc — bundled C compiler DESCRIPTIONcc
invokes the
HP-UX
bundled
C
compiler.
C source code is compiled directly to object code. The command uses the
ecom
(Itanium(R)-based systems)
or
ccom
(PA-RISC, Precision Architecture)
compiler for preprocessing,
syntax and type checking, as well as for code generation. cc
accepts several types of arguments as
files:
- .c Suffix
Arguments whose names end with
.c
are understood to
be C source files.
Each
.c
file
is compiled and
the resulting object file is left in a file having the
corresponding base name,
but suffixed with
.o
instead of
.c.
However, if a single C source file is compiled and linked
all in one step, the
.o
file is deleted. - .s Suffix
Arguments whose names end with
.s
are understood to be assembly source files and are assembled,
producing a
.o
file for each
.s
file. - .i Suffix
Arguments whose names end with
.i
are taken to be preprocessed source files.
(See the
-P
option below.)
Each object file is left in a file having the corresponding
name, but suffixed with
.o
instead of
the
.i
suffix. - -lx Form
Arguments of the form
-lx
cause the linker to search the library
libx.so
(Itanium-based systems)
or
libx.sl
(PA-RISC)
or
libx.a
in an attempt to resolve currently unresolved external references.
Because a library is searched when its name is encountered,
placement of a
-l
is significant.
If a file contains an unresolved external reference,
the library containing the definition must be placed
after
the file on the command line. See
ld(1)
for further details. - -l:libx.suffix Form
Arguments of the form
-l:libx.suffix
cause the linker to search the library
libx.so
(Itanium-based systems)
or
libx.sl
(PA-RISC)
or
libx.a
(depending on
suffix)
in an attempt to resolve currently unresolved external references.
It is similar to the
-l
option except the current state of the
-Wl,-a
option is not important. - Other Suffixes
All other arguments, such as those names ending with
.o,
.a,
or
.so
are taken to be relocatable object files
and are passed to
ld
(see
ld(1))
to be included in the link operation.
Arguments and options can be passed to the compiler through the
CCOPTS
environment variable as well as on the command line.
The compiler reads the value of
CCOPTS
and divides these options into two sets;
those options which appear before
a vertical bar
(|)
delimited by whitespace,
and those options which appear after the vertical bar.
The first set of options is placed before any of the command-line
parameters to
cc;
the second set of options is placed after the command-line parameters to
cc.
If the vertical bar is not present,
all options are placed before the command-line parameters.
For example (in
sh(1)
notation), CCOPTS=
-v | -lm
export CCOPTS
cc -p prog.c is equivalent to
When set, the
TMPDIR
environment variable specifies a directory
to be used
by the compiler
for temporary files,
overriding the default directory
/var/tmp. OptionsNOTE:
for more information about any option, see the
HP C Online Help.
To invoke the online help,
use your HTML browser to use the URL
file:/opt/ansic/html/$LANG/guide/index.htm
(Itanium-based systems)
or
file:/opt/ansic/html/guide/$LANG/index.htm
(PA-RISC). The following options are recognized by
cc:
- -b
Cause the linker,
ld,
to create a shared library rather than a normal executable file.
For details see
ld(1),
HP-UX Linker and Libraries Online User's Guide
and the
Programming on HP-UX
manual. - -c
Suppress the link edit phase of the compilation,
and force an object
(.o)
file to be produced for each
.c
or
.i
file even if only one program is compiled.
Object files produced from C programs must be linked before
being executed.
- -Dname=def
- -Dname
Define
name
to the preprocessor pass (of
ctcom),
as if by '#define'. - -E
Preprocess named C files and send the result to standard output. - -.suffix
Instead of using standard output for the
-E
option, place the output from each
.c
file into a file with the corresponding
.suffix. - -Idir
Change the algorithm used by the preprocessor pass for
finding include files to also search in directory
dir.
See the
HP C Online Help. - -I-
The directory of the including file is no longer used as
the starting point to look up files enclosed with double quotes
(
They start at the first
-I.
Files enclosed with
<>
are looked up with the paths following
-I-. - -lx
Refer to the
-lx
and
-l:libx.suffix
explanations
(fourth and fifth items)
in the
DESCRIPTION
section. - -L dir
Change the algorithm used by the linker to search for
libx.so
(Itanium-based systems)
or
libx.sl
(PA-RISC)
or
libx.a.
The
-L
option causes
ld
to search in
dir
before searching in the default locations.
This option is effective only if it precedes the
-l
option on the command line. See
ld(1)
for details. - -ooutfile
Specify
outfile
as the name for the linker output file.
The default name is
a.out.
Specifies the name of the shared library when used with
-b.
Specifies the name of the object file when used with
-c. - -P
Preprocess
named C files and leave the result
in corresponding files suffixed with
.i.
- -s
Cause the output of the linker to be stripped of symbol table
information. See
strip(1)
for more details. The use of this
option prevents the use of a symbolic debugger on the resulting
program. Also see
ld(1)
for additional details. If
-s
is specified with any other option, the
-s
option is ignored,
regardless of the order in which the options were specified. - -S
Compile the named C files, and leave the
assembly language output in corresponding files suffixed with
.s. - -tx,name
Substitute or insert subprocess
x
with
name
where
x
is one or more of a set of identifiers indicating the subprocess(es).
This option works in two modes: 1) if
x
is a single identifier,
name
represents the full path name of the new subprocess; 2) if
x
is a set of identifiers,
name
represents a prefix to which the standard suffixes are
concatenated to construct the full path names of the new subprocesses. The
x
can take one or more of the values:
- a
Assembler; standard suffix is
as - c
Compiler body; standard suffix is: ecom
(Itanium-based systems), or ccom
(PA-RISC) - l
Linker; standard suffix is
ld - p
C preprocessor; standard suffix is
cpp - x
All subprocesses.
- -Uname
Undefines any
name
that has been defined prior to the preprocessing stage of compilation. - -v
Enable verbose mode, which produces a step-by-step description
of the compilation process on standard error. - -V
Display the version numbers of the current compiler and linker (if
the linker is executed). - -w
Suppress warning messages. - -Wx,arg1[,arg2...]
Pass the comma-separated argument(s)
to subprocess
x,
where
x
can assume one of the values listed under the
-t
option as well as
d
(driver program) but not
x
(all subprocesses).
The
-W
option specification allows additional, implementation-specific
options to be recognized by the compiler driver.
Itanium-based Systems Only Options- -z
Do not bind anything to address zero.
This
ld(1)
option allows run-time detection of null pointers.
See the note on
pointers
below.
(Itanium-based system only) - +dryrun
Generate subprocess information for a given command line without
running the subprocesses.
(Itanium-based systems only) - +m[d]
This option outputs the double quoted ("") enclosed include file dependency
information in the format for
make(1).
With
+m
the output goes to stdout.
With
+md
the output goes to a file with the suffix
.d.
The directory and prefix of this file is the same as the object file,
which can be affected by the
-o
option. NOTE:
Specify
-E
to suppress generation of the object file. In this case, no preprocessor
output is generated.
(Itanium-based systems only). - +M[d]
Same as
+m
except both
<>
and
enclosed include files are output as dependencies.
(Itanium-based systems only). - +p
Disallow all anachronistic constructs. Ordinarily the
compiler gives warnings about anachronistic constructs; using the
+p
option, the compiler will not compile code containing
anachronistic constructs.
(Itanium-based systems only). - +time
Generate separate timing information for compilation subprocesses.
For each subprocess, estimated time is generated in seconds for user
processes, system calls, and total processing time.
(Itanium-based systems only). - +uc
Treats "plain" char data type as unsigned char.
(Overloading and mangling are unchanged.) This option is to help in
porting applications from environments where unqualified (plain) char
type is treated as unsigned char instead of the default treatment as
signed char. Since all unqualified char types in the compilation unit
will be affected by this option (including those headers that define
external and system interfaces) it is necessary to compile the
interfaces used in a single program uniformly. - +w
Warn about all questionable constructs. Without the
+w
option, the compiler issues warnings only about constructs
that are almost certainly problems
(Itanium-based systems only). - +Warg1[,arg2,...,argn]
Selectively suppresses any specified warning messages, where
arg1
through
argn
are valid compiler warning message numbers.
(Itanium-based systems only). - +Wearg1[,arg2,...,argn]
Selectively interpret any specified warning or future error messages as errors.
arg1
through
argn
are valid compiler message numbers.
(Itanium-based systems only).
System Dependent OptionsThe compiler supports the following additional operating system
dependent options.
- +DDdata_model
Generate code using either the
ILP32
or
LP64
data model. Defined values for
data_model
are:
- 32
Use the ILP32 data model. The sizes of the int, long and pointer data
types are 32-bits. - 64
Use the LP64 data model. The size of the int data type is 32-bits, and
the sizes of the long and pointer data types are 64-bits. Defines __LP64__
to the preprocessor.
- +DSmodel
Use the instruction scheduler tuned to the
model
specified.
If this option is not used,
the compiler uses the instruction scheduler
for the architecture on which the program is compiled.
Options (other)Any other options that are not defined
will generate a warning to
standard error. Other arguments
are taken
to be HP C compatible
object files, typically produced by an earlier
cc
run, or perhaps libraries of HP cc compatible routines.
These files, together with the results of any
compilations specified, are linked (in the order
given) to produce an executable program with the name
a.out. PointersAccessing the object of a
NULL
(zero) pointer is technically illegal,
but many systems have permitted it in the past.
The following is provided to maximize portability of code.
If the hardware is able to return zero for reads of location zero
(when accessing at least 8- and 16-bit quantities),
it must do so unless the
-z
flag is present.
The
-z
flag requests that
SIGSEGV
be generated if an access to location zero is attempted.
Writes of location zero may be detected as errors even if reads are not.
If the hardware cannot assure that location zero acts as if
it was initialized to zero or is locked at zero,
the hardware should act as if the
-z
flag is always set. EXTERNAL INFLUENCESEnvironment VariablesLANG
determines the language in which messages are displayed. If
LC_CTYPE
is not specified in the environment or is set to the empty string,
the value of
LANG
is used as a default for each unspecified or empty variable.
If
LANG
is not specified or is set to the empty string, a default of
C
(see
lang(5))
is used instead of
LANG.
If any internationalization variable contains an invalid setting,
C
behaves as if all internationalization variables
are set to
C.
See
environ(5). aCC_MAXERR
allows you to set the maximum number of errors you want the compiler to
report before it terminates compilation.
(Itanium-based systems only). SDKROOT
is used as a prefix for all references to tool set components and must
be set when you use a non-native development kit or a toolset installed
at an alternative location. Some of the toolset components are compiler
drivers, Compiler Applications, Preprocessor, Linker, and object file
tools. TARGETROOT
is used as a prefix for all references to target set components and must
also be set when using a non-native development kit. Some of the target
set components are header files, archive libraries, and shared
libraries. International Code Set SupportSingle byte and multibyte character code sets are supported. DIAGNOSTICSThe diagnostics produced by the
compiler itself are intended to be self-explanatory.
Occasional messages may be produced by the assembler or the link editor. If any errors occur before
cc
is completed, a non-zero value is returned.
Otherwise, zero is returned. DEPENDENCIESIf
-s
is specified along with any of the above options, the
-s
option is ignored,
regardless of the order in which the options were specified. Refer to the
System Dependent Options
subsection above for information about operating system
dependent options,
+DDdata_model
for 32-bit or 64-bit data models
and
+DSmodel
for the instruction scheduler. FILES- file.c
C input file - file.i
previously preprocessed cc input file - file.o
object file - file.so
shared library, created with
-b
on Itanium-based systems - file.sl
shared library, created with
-b
on PA-RISC - a.out
linked executable output file - /var/tmp/*
temporary files used by the compiler
(Itanium-based systems) - /var/tmp/ctm*
temporary files used by the compiler
(PA-RISC systems) - /usr/ccs/bin/cc
C driver - /usr/ccs/bin/cc_bundled
C driver - /usr/ccs/lbin/ecom
C Compiler
(Itanium-based systems) - /usr/ccs/lbin/ccom
C Compiler
(PA-RISC systems) - /usr/ccs/lbin/cpp
preprocessor, to assemble
.s
files - /usr/lib/nls/msg/$LANG/ecc.cat
C compiler message catalog
(Itanium-based systems) - /usr/lib/nls/msg/$LANG/cc.cat
C compiler message catalog
(PA-RISC systems) - /usr/ccs/bin/as
assembler,
as(1) - /usr/ccs/bin/ld
link editor,
ld(1) - /usr/ccs/lib/crt0.o
Runtime startup
(PA-RISC systems) - /usr/include
Standard directory for
#include
files
Other Libraries- /usr/lib/hpux32/libc.so
standard C library, see
HP-UX
Reference Section (3).
(Itanium-based systems) - /usr/lib/hpux64/libc.so
standard C library, see
HP-UX
Reference Section (3).
(Itanium-based systems) - /usr/lib/libc.a
Standard C library (archive version), see
HP-UX
Reference Section (3).
(PA-RISC) - /usr/lib/libc.sl
Standard C library (shared version), see
HP-UX
Reference Section (3).
(PA-RISC) - /usr/lib/hpux32/libm.a
Math Library
(Itanium-based system) - /usr/lib/hpux64/libm.a
Math Library
(Itanium-based systems) - /usr/lib/libm.a
Math Library
(PA-RISC systems) - /usr/lib/hpux32/libdl.so
Dynamic loader library
(Itanium-based systems) - /usr/lib/hpux64/libdld.so
Dynamic loader library
(Itanium-based systems) - /usr/lib/libdld.sl
Dynamic loader library
(PA-RISC systems) - /usr/lib/hpux32/dld.so
Dynamic loader
(Itanium-based systems) - /usr/lib/hpux64/dld.so
Dynamic loader
(Itanium-based systems) - /usr/lib/dld.so
Dynamic loader
(PA-RISC systems)
SEE ALSOOnline helpThe online help can be displayed using a default HTML browser, or you
can invoke your own HTML browser with the URL
file:/opt/ansic/html/$LANG/guide/index.htm
(Itanium-based systems)
or
file:/opt/ansic/html/guide/$LANG/index.htm
(PA-RISC systems) Other topics available are:
Compiler Pragmas, Floating Installation and Implementation Defined aspects of
the compiler. Information is also available on the web at:
http://www.hp.com/go/c Profiling and Debugging Tools- gprof(1)
display call graph profile data - monitor(3C)
prepare execution profile - wdb(1)
C, C++ and Fortran symbolic debugger - gdb(1)
C, C++ and Fortran symbolic debugger - adb(1)
absolute debugger
System Tools- as(1)
translate assembly code to machine code - cpp(1)
invoke the C language preprocessor - cc(1)
C compiler - ld(1)
invoke the link editor
Miscellaneous- strip(1)
strip symbol and line number information from an object file - crt0(3)
execution startup routine - end(3C)
symbol of the last locations in program - exit(2)
termination of a process
Tutorials and Standards DocumentsAmerican National Standard for Information Systems - Programming language C,
ANS X3.159-1989. See the
HP C Online help.
|