/vc |
Microsoft Visual C compatibility. The rest of the command line options are
as described by the Visual C documentation. |
/mslibs |
Use Microsoft runtime libraries - default |
/wlibs |
Use Watcom runtime libraries |
/coff |
Output to COFF object file - suitable for Microsoft tools - default |
/omf |
Output to OMF object file |
/gnu |
GNU compatibility - adds some GNU source code extensions |
/uchars |
chars are unsigned |
/schars |
chars are signed - default |
/alignment n |
Set structure alignment |
/outfile filename |
Set output filename |
/include directory |
Add directory to search for include files |
/nodefaultincludes |
Don't search the default include directories (stored in the INCLUDE environment
variable) |
/nowarn |
No warnings |
/warnerror |
Make warnings errors |
/asm |
Output an assembly listing to a file with the same name and directory as the
object file, but with an ".asm" extension |
/interopt |
Call the Interactive Optimizer before compiling |
/advice |
Give optimization advice. The Interactive Optimizer uses this option. |
/noprogress |
Do not print progress information |
/target target-name |
Set the processor to compile for. The optimizer will optimize for this
processor and the compiler will only emit instructions allowed by this processor.
The different processors are described here.
The possible target names are:
PENTIUM - Intel Pentium - default
PENTIUMMMX - Intel Pentium with MMX
PPRO - Intel Pentium Pro
PII - Intel Pentium II
PIII - Intel Pentium III with Streaming SIMD Extensions
P4 - Intel Pentium 4 (Willamette) - new Intel processor with SSE 2 - preliminary
support - not available in Special Edition
K6 - AMD K6 with MMX
K6-2 - AMD K6-2 with MMX and 3DNow!
ATHLON - AMD Athlon with MMX and 3DNow!
- not available in Special Edition
|
/fastcall |
Use Visual C fastcall calling conventions by default |
/cdecl |
Standard C calling conventions - default |
/wcalls |
Use Watcom register calling conventions by default |
/single |
Assume floating-point constants and intrinsics are single-precision when the
arguments are single-precision and the results are used in single-precision expressions.
By default, floating-point constants and intrinsics like sqrt are double precision.
This can cause problems in 3DNow! and SSE code. |
/novectors |
No vectorization |
/noaliasarguments |
No pointers in function arguments point to the same data. Described here. |
/noaliasatomicarithmetic |
No pointers to which arithmetic is applied can point to values with atomic
type (integer, float, pointer). Described here. |
/noalias |
Assume all pointers have "restrict" applied to them. This will often
not produce correct code, but can help with single functions to increase vectorization. |
/nomemorder |
Allow re-ordering of all memory accesses. This is likely to produce incorrect
code, but can help with single functions to increase vectorization. |
/optimize n |
Set level of optimization from 0 (produces very slow code) to 10 (produces
the fastest code, but takes a long time to comile). Optimization settings in between
will be bumped up for individual functions that are small and have small loops. |
/nostackcheck |
Turn off stack check calls. Stack checking is on by default |
/uncached n |
Set a size in K to use for automatically setting the prefetch
flag. All variables larger than this size will have the prefetch flag set, so
the compiler will attempt to prefetch data whenever possible when reading from
these variables |
/prec12 |
Only do floating-point arithmetic to 12-bit precision |
/precision |
Force consistent floating-point precision |
/setfpuprec |
If a function does a lot of single-precision arithmetic, then the FPU will
be put into single-precision mode at the start of the function and at the end
of the function restored to whatever state it was in at the start. This can speed
up single-precision divides and intrinsic functions (like sqrt, sin and cos) when
not using 3DNow! or Streaming SIMD Extensions. It may be better to switch the
FPU to single-precision at the start of your code. |
/fastftoi |
Don't call runtime function to truncate floats when converting to ints. If
you want truncation, set the FPU mode to round towards zero. |
/ignorealign |
Force the optimizer to vectorize even if it can't determine that alignment
of pointers is correct. This may cause vectorization to occur in unsuitable situations
and slow down your code. However, it may also vectorize more code and so speed
up your program. |
/small |
Generate small, not fast, code. |