📄 c68.txt
字号:
NAME
c68/c386/c86/c30 - Compile preprocessed C source.
SYNOPSIS
c68 [options] [input_file [output_file [listing_file]]]
c386 [options] [input_file [output_file [listing_file]]]
c86 [options] [input_file [output_file [listing_file]]]
c30 [options] [input_file [output_file [listing_file]]]
cARM [options] [input_file [output_file [listing_file]]]
cPPC [options] [input_file [output_file [listing_file]]]
DESCRIPTION
c68 is a publicly available ANSI C compiler. The compiler
can also operate in a mode that is compatible with the
original Kernighan and Richie (K&R) definition. The user
can select K&R mode (which causes many ANSI specific
features to be disabled) by a run-time parameter option.
The default is ANSI compatible mode as this is what most
people would wish to use.
Although generically the compiler is known under the name
of c68 the actual program name normally varies according
to the target environment in which it is hosted. The
names used are c68 when hosted on Motorola 680x0 systems;
c386 when hosted on Intel 386 (or better) systems running
in 32 bit mode; c86 when hosted on an Intel 8086 (or
better system) running in 16-bit real mode; cARM when
hosted on a Acorn ARM Risc processor; c30 when hosted on a
Texas Instruments TMSC30 processor; cPPC when hosted on a
Power PC processor.
The compiler was originally developed to run on the MINIX
operating system, but is known to be in wide use on a wide
variety of other operating systems such as LINUX, TOS
(Atari), QDOS/SMSQ (Sinclair QL) and EPOC (Psion 3a). The
source has been specifically written with maximum
portability in mind.
The compiler is slightly unusual in there is the
capability for simultaneous support of multiple target
processor types and/or multiple assemblers. The user
specifies at the time that the compiler is built which
target processors and combination of options are to be
supported. If support for multiple processors and/or
assemblers are configured to be built in, then options
other than the default can be selected by appropriate
runtime parameter options. This can make the compiler
very useful as a tool for cross-development between
different hardware platforms.
The compiler takes the output of a C pre-processor, and
compiles it to give assembler source. If no output file
is specified on the command line then the compiler writes
the generated assembler code to standard output. If in
addition there is no input file specified then the
compiler reads the C source from standard input. Finally
if the compiler run time option requesting a listing is
used and no listing file is specified, the compiler
writes it to standard error.
The options available to control the behaviour of the
compiler are listed below. The options to the compiler
can also be passed as -Qoption in addition to the syntax
given below. This is to make it easier for the front-end
programs (typically called CC) to decide which options
belong to the compiler phase. Not all options are
necessarily available in all versions of the compiler as
some of them are dependent on the settings in the compiler
configuration file at the time that the compiler is
actually built.
GENERAL OPTIONS
These are options that are not dependent on the target
processor type, and are general in nature. Where the
option can be a list, then multiple options from the list
can be specified separated by commas. There must be no
spaces between the options in this case.
-? Display a message giving the full list of
options available in this particular version of
the compiler. It also details the default
settings for the parameters. This option can be
very useful as it always reflects the choices of
settings in the compiler configuration file that
were actually used when generating this version
of the compiler. If you find a parameter option
listed in this document appears to be ignored,
then this is the way to check if the version of
the compiler you are actually using has been
built with that option enabled.
The values listed are organised so that the
first section applies to setting global to all
variants of the compiler, and then sections
specific to each target processor type for which
support has been included when the compiler was
built.
The output is normally too long to fit onto a
single screen, so you may need to redirect into
a file to see all the options.
-v Output additional information during the compile
process. If the compiler was built without the
VERBOSE configuration option set then this is
merely a message giving the version number of
the compiler. If the VERBOSE configuration
option was used when the compiler was built,
then additional progress information is output
during the compile process.
Default: The compiler as supplied is not
normally built with the VERBOSE option
and merely provides the version number
message if -v is used.
-warn=n Control the severity level of warning and
diagnostic messages that will be output during
the compilation process. Messages with a higher
severity value (i.e. less severe) than the value
specified will not be output. See later for
more information on the effect of possible
values for n.
Default: -warn=3
-error=n Make messages that are normally only warnings to
be treated as errors instead. The value of n
specifies what severity of messages that would
normally be only warnings are instead to be
treated as errors. This option is often used in
conjunction with the maxerr option..
Default: -error=0
-maxerr=n Sets the maximum error count to the value of n.
This is the maximum number of errors that will
be reported before the compiler abandons a
compile. As one error can cause others to
occur, in a cascade effect, it is often a good
idea to set this to a low value in the region of
10-20 errors which fits on one screen.
Default: -maxerr=200
-debug=option_list
This option is only available in a version of
the compiler built with the DEBUG configuration
option defined. It is used to control the
amount of debug information that is written to
the listing file. The option_list can be any
combination of the following:
global
peep
expr
code
register
symbol
Default: No debug information output.
N.B. The DEBUG configuration option when
building the compiler is normally only set
if you are developing new code to be
included in the compiler or investigating
faults. It is therefore never normally
included in any generally distributed
binaries.
-align=yes|no
All processors tend to have default alignments
at which they generate most efficient code. The
compiler will use the setting of the -align
option to decide whether to use the processor
optimum alignment, or ask the compiler to
attempt to use a different alignment. A yes
value for this option means align structures
and unions using the same rules as applied to
the member that has the strictest alignment
rules, while no means use the default value for
the processor type. In particular if you want
structures or unions which only contain 'char'
data types to be packed as closely as possible
(and therefore possibly start on odd addresses)
you must use the -align=yes setting.
Default: -align=yes for Intel targets
(any boundaries)
-align=no for 68000 and ARM targets
(even boundaries)
-align=yes for TMS C30 targets
(even boundaries)
-asm=yes|no
Specifies whether the use of the asm keyword
should be allowed in your C source. Use of the
asm keyword is not part of ANSI C and will
definitely result in non-portable code.
Support for the asm keyword is not included in
the compiler unless the ASM configuration option
is set at the time the compiler is built. We do
not normally include such support in binaries we
put on general distribution.
Default: -asm=no
-extension=yes|no
Specifies whether options that are under
consideration for inclusion in the next ANSI C
standard (amendment 2) should be included.
Support for these options will only be included
in the compiler if the EXTENSIONS configuration
option is set when the compiler is built. We
normally do include such an option in binaries
we put on general distribution except when the
size of the compiler is constrained by memory
limits. For details of what options are affected
by this keyword refer to the section later in
this document labelled "EXTENSIONS TO ANSI C".
Default: -extensions=no
-extern=yes|no
Output details of external symbols in this
module to the listing file. This is intended in
the future to provide the basis of a lint-style
facility to provide cross-module consistency
checking.
Whether support for this option is included in
the compiler is controlled by the EXTERNAL
configuration option at the time the compiler is
built. We do not normally include such support
in binaries we put on general distribution.
Default: -extern=no
-fcheck=yes|no
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -