1 | X:\>wcc386.exe
|
2 | Open Watcom C32 Optimizing Compiler Version 1.9
|
3 | Portions Copyright (c) 1984-2002 Sybase, Inc. All Rights Reserved.
|
4 | Source code is available under the Sybase Open Watcom Public License.
|
5 | See http://www.openwatcom.org/ for details.
|
6 | Usage: wcc386 [options] file [options]
|
7 | Options:
|
8 | ( /option is also accepted )
|
9 | -3r 386 register calling conventions
|
10 | -3s 386 stack calling conventions
|
11 | -4r 486 register calling conventions
|
12 | -4s 486 stack calling conventions
|
13 | -5r Pentium register calling conventions
|
14 | -5s Pentium stack calling conventions
|
15 | -6r Pentium Pro register calling conventions
|
16 | -6s Pentium Pro stack calling conventions
|
17 | -aa allow non const initializers for local aggregates or unions
|
18 | -ad[=<file>] generate make style automatic dependency file
|
19 | -add[=<file>] specify first dependency in make style auto-depend file
|
20 | -adt[=<file>] specify target in make style auto-depend file
|
21 | -adhp[=<file>]specify default path for headers without one
|
22 | -adbs force path separators to '\' in auto-depend file
|
23 | -adfs force path separators to '/' in auto-depend file
|
24 | -ai turn off type checking on static initialization
|
25 | (Press return to continue)
|
26 | -aq turn off qualifier mismatch warning for const/volatile
|
27 | -bc build target is a console application
|
28 | -bd build target is a dynamic link library (DLL)
|
29 | -bg build target is a GUI application
|
30 | -bm build target is a multi-thread environment
|
31 | -br build with dll run-time library
|
32 | -bt=<id> build target for operating system <id>
|
33 | -bw build target is a default windowing application
|
34 | -d<id>[=text] precompilation #define <id> [text]
|
35 | -d0 no debugging information
|
36 | -d1{+} line number debugging information
|
37 | -d2 full symbolic debugging information
|
38 | -d3 full symbolic debugging with unreferenced type names
|
39 | -d+ allow extended -d macro definitions
|
40 | -db generate browsing information
|
41 | -e=<num> set limit on number of error messages
|
42 | -ecc set default calling convention to __cdecl
|
43 | -ecd set default calling convention to __stdcall
|
44 | -ecf set default calling convention to __fastcall
|
45 | -ecp set default calling convention to __pascal
|
46 | -ecr set default calling convention to __fortran
|
47 | -ecs set default calling convention to __syscall
|
48 | (Press return to continue)
|
49 | -ecw set default calling convention to __watcall (default)
|
50 | -ee call epilogue hook routine
|
51 | -ef use full pathnames in error and warning messages
|
52 | -ei force enums to be at least as large as an int
|
53 | -em force enum base type to use minimum integral type
|
54 | -en emit routine names in the code segment
|
55 | -ep[=<num>] call prologue hook routine with <num> stack bytes available
|
56 | -eq do not display error messages (they are still written to a file)
|
57 | -et Pentium profiling
|
58 | -ez generate PharLap EZ-OMF object files
|
59 | -fh[=<file>] use pre-compiled headers
|
60 | -fhq[=<file>] do not display pre-compiled header activity warnings
|
61 | -fi=<file> force <file> to be included
|
62 | -fo[=<file>] set object or preprocessor output file name
|
63 | -fr[=<file>] set error file name
|
64 | -fti print informational message when opening include file
|
65 | -fp2 generate 287 floating-point code
|
66 | -fp3 generate 387 floating-point code
|
67 | -fp5 optimize floating-point for Pentium
|
68 | -fp6 optimize floating-point for Pentium Pro
|
69 | -fpc calls to floating-point library
|
70 | -fpi inline 80x87 instructions with emulation
|
71 | (Press return to continue)
|
72 | -fpi87 inline 80x87 instructions
|
73 | -fpr generate backward compatible 80x87 code
|
74 | -g=<id> set code group name
|
75 | -hc generate Codeview debugging information
|
76 | -hd generate DWARF debugging information
|
77 | -hw generate Watcom debugging information
|
78 | -i=<path> add another include path
|
79 | -j change char default from unsigned to signed
|
80 | -mc compact memory model (small code/large data)
|
81 | -mf flat memory model (small code/small data assuming CS=DS=SS=ES)
|
82 | -ml large memory model (large code/large data)
|
83 | -mm medium memory model (large code/small data)
|
84 | -ms small memory model (small code/small data)
|
85 | -na disable automatic inclusion of _ialias.h
|
86 | -nc=<id> set code class name
|
87 | -nd=<id> set data segment name
|
88 | -nm=<file> set module name
|
89 | -nt=<id> set name of text segment
|
90 | -o{a,b,c,d,e,f[+],h,i,k,l,m,n,o,p,r,s,t,u,x,z} control optimization
|
91 | a -> relax aliasing constraints
|
92 | b -> enable branch prediction
|
93 | c -> disable <call followed by return> to <jump> optimization
|
94 | (Press return to continue)
|
95 | d -> disable all optimizations
|
96 | e[=<num>] -> expand user functions inline (<num> controls max size)
|
97 | f -> generate traceable stack frames as needed
|
98 | f+ -> always generate traceable stack frames
|
99 | h -> enable expensive optimizations (longer compiles)
|
100 | i -> expand intrinsic functions inline
|
101 | k -> include prologue/epilogue in flow graph
|
102 | l -> enable loop optimizations
|
103 | l+ -> enable loop unrolling optimizations
|
104 | m -> generate inline code for math functions
|
105 | n -> allow numerically unstable optimizations
|
106 | o -> continue compilation if low on memory
|
107 | p -> generate consistent floating-point results
|
108 | r -> reorder instructions for best pipeline usage
|
109 | s -> favor code size over execution time in optimizations
|
110 | t -> favor execution time over code size in optimizations
|
111 | u -> all functions must have unique addresses
|
112 | x -> equivalent to -obmiler -s
|
113 | z -> NULL points to valid memory in the target environment
|
114 | -pil preprocessor ignores #line directive
|
115 | -p{c,l,w=<num>} preprocess source file
|
116 | c -> preserve comments
|
117 | (Press return to continue)
|
118 | l -> insert #line directives
|
119 | w=<num> -> wrap output lines at <num> columns. Zero means no wrap.
|
120 | -q operate quietly
|
121 | -r save/restore segment registers across calls
|
122 | -ri return chars and shorts as ints
|
123 | -s remove stack overflow checks
|
124 | -sg generate calls to grow the stack
|
125 | -st touch stack through SS first
|
126 | -tp=<id> set #pragma on( <id> )
|
127 | -u<id> undefine macro <id>
|
128 | -v output function declarations to .def
|
129 | -vcap VC++ compatibility: alloca allowed in argument lists
|
130 | -w=<num> set warning level number
|
131 | -wcd=<num> warning control: disable warning message <num>
|
132 | -wce=<num> warning control: enable warning message <num>
|
133 | -we treat all warnings as errors
|
134 | -wx set warning level to maximum setting
|
135 | -za disable extensions (i.e., accept only ISO/ANSI C)
|
136 | -zc place const data into the code segment
|
137 | -zdf DS floats i.e. not fixed to DGROUP
|
138 | -zdp DS is pegged to DGROUP
|
139 | -zdl Load DS directly from DGROUP
|
140 | (Press return to continue)
|
141 | -ze enable extensions (i.e., near, far, export, etc.)
|
142 | -zev enable arithmetic on void derived types
|
143 | -zfw generate FWAIT instructions
|
144 | -zff FS floats i.e. not fixed to a segment
|
145 | -zfp FS is pegged to a segment
|
146 | -zgf GS floats i.e. not fixed to a segment
|
147 | -zgp GS is pegged to a segment
|
148 | -zg generate function prototypes using base types
|
149 | -zk0 double-byte character support: Kanji
|
150 | -zk0u translate double-byte Kanji to Unicode
|
151 | -zk1 double-byte character support: Traditional Chinese
|
152 | -zk2 double-byte character support: Korean
|
153 | -zk3 double-byte character support: Simplified Chinese
|
154 | -zkl double-byte character support: local installed language
|
155 | -zku=<num> load UNICODE translate table for specified code page
|
156 | -zl remove default library information
|
157 | -zld remove file dependency information
|
158 | -zlf add default library information to object files
|
159 | -zls remove automatically inserted symbols
|
160 | -zm place each function in separate segment
|
161 | -zp=<num> pack structure members with alignment {1,2,4,8,16}
|
162 | -zpw output warning when padding is added in a struct
|
163 | (Press return to continue)
|
164 | -zq operate quietly (equivalent to -q)
|
165 | -zro omit floating point rounding calls (non ANSI)
|
166 | -zri inline floating point rounding calls
|
167 | -zs syntax check only
|
168 | -zt[=<num>] set far data threshold (i.e., larger objects go in far memory)
|
169 | -zu SS != DGROUP (i.e., don't assume stack is in your data segment)
|
170 | -zw generate code for Microsoft Windows
|
171 | -zz remove "@size" from __stdcall function names (10.0 compatible)
|