|
Option |
Meaning |
|
-A |
All warnings will be active. |
|
-ansic |
Disallow the language extensions of lcc-win32:
operator overloading and references will not be accepted. |
| -C |
Keep comments in the preprocessed output.
You should be prepared for side effects when using -C; it causes the preprocessor to treat comments as tokens in their own right. For example, macro redefinitions that were trivial when comments were replaced by a single space might become significant when comments are retained. Also, comments appearing at the start of what would be a directive line have the effect of turning that line into an ordinary source line, since the first token on the line is no longer a #. |
|
-check |
Read all the input file without generating anything.
The warning level is automatically increased. This is designed for
checking a source file for errors and warnings. |
|
-D |
Define the symbol following the ‘D’. Example: -DNODEBUG The symbol NODEBUG is #defined. Note that there is NO
space between the D and the symbol. |
|
-E |
Generate an intermediate file with the output of the
preprocessor. The output file name will be deduced from the input file
name, i.e., for a compilation of foo.c you will obtain foo.i. |
|
-E+ |
Like the -E option, but instead of generating a #line
xxx directive, the preprocessor generates a # xxx directive. Some systems
need this option, specifically some versions of gcc. |
|
-EP |
Like the -E option, but no #line directives will be
generated. |
|
-errout= |
Append the warning/error messages to the indicated
file. Example : errout=Myexe.err This will append
to Myexe.err all warnings and error messages. |
|
-eN |
Set the maximum error count to N. Example: -e25 The compiler will stop after 25 errors. |
|
-fno-inline |
Disables any inling of functions. No inline expansion
will be performed, even if optimizations or on. |
|
-Fo<file
name> |
This forces the name of the output file. Normally lcc
deduces that name from the name of the input file, i.e., for foo.c,
foo.obj, or foo.asm, or foo.i will be generated. This option allows you to specify another name.
Please, be careful using it, since no checks are run on the name. You can,
in principle, make careless errors, such as: lcc foo.c –Fogg.c and the
output binary object file will be called gg.c..., which is not
recommended. |
|
-g2 |
Generate the debugging information. Two types of
debug information will be generated: COFF and CodeView (NB09). |
|
-g3 |
Arrange for function stack tracing. If a trap occurs,
the function stack will be displayed. |
|
-g4 |
Arrange for function stack and line number tracing. |
|
-g5 |
Arrange for function stack, line number, and return
call stack corruption tracing. |
|
-I |
Add a path to the path included, i.e., to the path
the compiler follows to find the header files. Example: |
|
-libcdl |
Use the declarations needed to link with lcclibc.dll instead of libc.lib, the static library. Most of the declarations are the same for both except some rare exceptions like the table of the ctype.h library |
|
-M |
Print in standard output the names of all files that
the preprocessor has opened when processing the given input file. If the
Fo option is active, printing will be done in the file indicated by the Fo
option. No object file is generated. |
|
-M1 |
Print in standard output each include file
recursively, indicating where it is called from, and when it is closed. |
|
-nw |
No warnings will be emitted. Errors will be still
printed. |
|
-O |
Optimize the output. This activates the peephole
optimizer and the inline keyword. Do not use this option with the -g
option above. |
| -overflowcheck |
Generates code to check for any overflow in integer addition, subtraction
and multiplication. If an overflow is detected, the user function void _overflow(char *FunctionName, int line); is called. A default implementation that just prints the function name and the line in stderr is supplied. |
|
-p6 |
Enable Pentium III instructions |
| -profile | Generate profiling code. At each line, the compiler will generate code to record the number of times execution passed through that line. At the end of the program, a file is generated with the name "profile.data", that contains the profiling data for the execution. This file is erased, if it exists. |
|
-S |
Generate an assembly file. The output file name will
be deduced from the input file name, i.e., for a compilation of foo.c you
will obtain foo.asm. |
|
-U |
Undefine the symbol following the ‘U’. |
|
-unused |
Warns about unused assignments and suppresses the
dead code. Use with care |
|
-s n |
Set the switch density to n that must be a
value between 0.0 and 1.0. Example: -s
0.1 |
|
-v |
Show compiler version and compilation date |
|
-x |
Generate browse information in an .xrf file. |
|
-z |
Generate a file with the intermediate language of
lcc. The name of the generated file will have a ‘.lil’ extension (lcc’s
intermediate language). |
|
-Zp[1,2,4,8,16] |
Set the default alignment in structures to one, two,
four, etc. If you set it to one, this actually means no alignment at all. |
|
File.asm |
All files with a .asm extension are assumed to be
files written for lcc’s assembler. Beware: the syntax of lcc’s
assembler is radically different from all standard assemblers. See the
chapter about the assembler for more information. |