1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
|
# This file lists the C compilers' command line options
# ------------ Open Watcom ---------------------------------------------
Open Watcom C/C++32 Compile and Link Utility Version 1.1
Portions Copyright (c) 1988-2002 Sybase, Inc. All Rights Reserved.
Source code is available under the Sybase Open Watcom Public License.
See http://www.openwatcom.org/ for details.
Usage: wcl386 [options] file(s)
Options: ( /option is also accepted )
-c compile only, no link
-cc treat source files as C code
-cc++ treat source files as C++ code
-y ignore the WCL386 environment variable
[Processor options]
-3r 386 register calling conventions -5r Pentium register calling conv.
-3s 386 stack calling conventions -5s Pentium stack calling conventions
-4r 486 register calling conventions -6r Pentium Pro register call conven.
-4s 486 stack calling conventions -6s Pentium Pro stack call conven.
[Floating-point processor options]
-fpc calls to floating-point library -fp2 generate 287 floating-point code
-fpd enable Pentium FDIV check -fp3 generate 387 floating-point code
-fpi inline 80x87 with emulation -fp5 optimize f-p for Pentium
-fpi87 inline 80x87 -fp6 optimize f-p for Pentium Pro
-fpr use old floating-point conventions
[Compiler options]
-db generate browsing information -s remove stack overflow checks
-e=<n> set error limit number -sg generate calls to grow the stack
-ee call epilogue hook routine -st touch stack through SS first
-ef full paths in messages -v output func declarations to .def
-ei force enums to be type int -vcap VC++ compat: alloca in arg lists
-em minimum base type for enum is int -w=<n> set warning level number
-en emit routine names in the code -wcd=<n> disable warning message <n>
-ep[=<n>] call prologue hook routine -wce=<n> enable warning message <n>
-eq do not display error messages -we treat all warnings as errors
-et P5 profiling -wx (C++) set warning level to max
-ez generate PharLap EZ-OMF object -xr (C++) enable RTTI
-fh=<file> pre-compiled headers -z{a,e} disable/enable extensions
-fhq[=<file>] fh without warnings -zc place strings in CODE segment
-fhr (C++) only read PCH -zd{f,p} DS floats vs DS pegged to DGROUP
-fhw (C++) only write PCH -zdl load DS directly from DGROUP
-fhwe (C++) don't count PCH warnings -zf{f,p} FS floats vs FS pegged to seg
-fi=<file> force include of file -zg{f,p} GS floats vs GS pegged to seg
-fo=<file> set object file name -zg function prototype using base type
-fr=<file> set error file name -zk{0,0u,1,2,3,l} double-byte support
-ft (C++) check for 8.3 file names -zku=<codepage> UNICODE support
-fx (C++) no check for 8.3 file names -zl remove default library information
-g=<codegroup> set code group name -zld remove file dependency information
-hc codeview debug format -zm place functions in separate segments
-hd dwarf debug format -zmf (C++) zm with near calls allowed
-hw watcom debug format -zp{1,2,4,8,16} struct packing align.
-j change char default to signed -zpw warning when padding a struct
-m{f,s,m,c,l} memory model -zq operate quietly
-nc=<name> set CODE class name -zs check syntax only
-nd=<name> set data segment name -zt<n> set data threshold
-nm=<module_name> set module name -zu SS != DGROUP
-nt=<name> set text segment name -zv (C++) enable virt. fun. removal opt
-r save/restore segregs across calls -zw generate code for MS Windows
-ri promote function args/rets to int -zz remove @size from __stdcall func.
[Debugging options]
-d0 no debugging information -d2t (C++) d2 but without type names
-d1{+} line number debugging info. -d3 debug info with unref'd type names
-d2 full symbolic debugging info. -d3i (C++) d3 + inlines as COMDATs
-d2i (C++) d2 + inlines as COMDATs -d3s (C++) d3 + inlines as statics
-d2s (C++) d2 + inlines as statics
[Optimization options]
-oa relax alias checking -ol+ ol with loop unrolling
-ob branch prediction -om generate inline math functions
-oc disable call/ret optimization -on numerically unstable floating-point
-od disable optimizations -oo continue compile when low on memory
-oe[=num] expand functions inline -op improve floating-point consistency
-of[+] generate traceable stack frames-or re-order instructions to avoid stalls
-oh enable repeated optimizations -os optimize for space
-oi inline intrinsic functions -ot optimize for time
-oi+ (C++) oi with max inlining depth -ou ensure unique addresses for functions
-ok control flow entry/exit seq. -ox maximum optimization (-obmiler -s)
-ol perform loop optimizations
[C++ exception handling options]
-xd no exception handling -xs exception handling: balanced
-xds no exception handling: space -xss exception handling: space
-xdt no exception handling -xst exception handling: time
[Preprocessor options]
-d<name>[=text] define a macro -u<name> undefine macro name
-d+ extend syntax of -d option -p{c,l,w=<n>} preprocess source file
-fo=<filename> set object file name c -> preserve comments
-i=<directory> include directory l -> insert #line directives
-t=<n> (C++) # of spaces in tab stop w=<n> -> wrap output at column n
-tp=<name> (C) set #pragma on( <name>
[Linker options]
-bd build Dynamic link library -fm[=<map_file>] generate map file
-bm build Multi-thread application -k<stack_size> set stack size
-br build with dll run-time library -l=<system> link for the specified system
-bw build default Windowing app. -x make names case sensitive
-bt=<os> build target OS. @<directive_file> include file
-fd[=<directive_file>] directive file -"<linker directives>"
-fe=<executable> name executable file
# ---------------------- Borland C++ 5.5 ---------------------------------------------
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
Syntax is: BCC32 [ options ] file[s] * = default; -x- = turn switch x off
-3 * 80386 Instructions -4 80486 Instructions
-5 Pentium Instructions -6 Pentium Pro Instructions
-Ax Disable extensions -B Compile via assembly
-C Allow nested comments -Dxxx Define macro
-Exxx Alternate Assembler name -Hxxx Use pre-compiled headers
-Ixxx Include files directory -K Default char is unsigned
-Lxxx Libraries directory -M Generate link map
-N Check stack overflow -Ox Optimizations
-P Force C++ compile -R Produce browser info
-RT * Generate RTTI -S Produce assembly output
-Txxx Set assembler option -Uxxx Undefine macro
-Vx Virtual table control -X Suppress autodep. output
-aN Align on N bytes -b * Treat enums as integers
-c Compile only -d Merge duplicate strings
-exxx Executable file name -fxx Floating point options
-gN Stop after N warnings -iN Max. identifier length
-jN Stop after N errors -k * Standard stack frame
-lx Set linker option -nxxx Output file directory
-oxxx Object file name -p Pascal calls
-tWxxx Create Windows app -u * Underscores on externs
-v Source level debugging -wxxx Warning control
-xxxx Exception handling -y Produce line number info
-zxxx Set segment names
Compiler options | Defines
-D<name> Define name to the null string
-Dname=string Define "name" to "string"
-U<name> Undefine any previous definitions of name
Compiler options | Code generation
-an Align data on "n" boundaries, where 1=byte, 2=word (2 bytes),
4=Double word (4 bytes), 8=Quad word (8 bytes),
16=Paragraph (16 bytes) (Default: -a4)
-b Make enums always integer-sized (Default: -b makes enums integer size)
-CP Enable code paging (for MBCS)
-d Merge duplicate strings
-K Default character type unsigned (Default: -K- default character type signed)
-r Use register variables (Default)
-rd Use register variables only when register keyword is employed
-WU Generates Unicode application
Compiler options | Floating point
-f- No floating point
-f Emulate floating point
-ff Fast floating point
-fp Correct Pentium fdiv flaw
Compiler options | Compiler output
-c Compile to .OBJ, no link
-e<filename> Specify executable file name
-lx Pass option x to linker
-M Create a Map file
-o<filename> Compile .OBJ to filename
-P Perform C++ compile regardless of source extension
-P<ext> Perform C++ compile, set output to extension to .ext
-Q Extended compiler error information(Default = OFF)
-tW Target is a Windows application
-tWC Target is a console application
-tWD Generate a .DLL executable
-tWM Generate a 32-bit multi-threaded target
-tWR Target uses the dynamic RTL
-tWV Target uses the VCL
-X Disable compiler autodependency output (Default: -X- use
compiler autodependency output)
-u Generate underscores (Default)
Compiler options | Source
-C Turn nested comments on (Default: -C- turn nested comments off)
-in Make significant identifier length to be "n" (Default = 250)
-AT Use Borland C++ keywords (also -A-)
-A Use only ANSI keywords
-AU Use only UNIX V keywords
-AK Use only Kernighan and Ritchie keywords
-VF MFC compatibility
-VI- Use old Borland search algorithm to locate header files (look
first in current working directory)
Compiler options | Debugging
-k Turn on standard stack frame (Default)
-vi Control expansion of inline functions
-y Line numbers on
-v Turn on source debugging
-R Include browser information in generated .OBJ files
Compiler options | Precompiled headers
-H Generate and use precompiled headers (Default)
-Hu Use but do not generate precompiled headers
-Hc Cache precompiled header
-He Enable precompiled headers with external type files (Default)
-Hs Enable smart cached precompiled headers (Default)
-H=filename Set the name of the file for precompiled headers
-H\"xxx\" Stop precompiling after header file xxxx
-Hh=xxx Stop precompiling after header file xxx
Compiler options | Processor
-3 Generate 80386 instructions. (Default)
-4 Generate 80486 instructions
-5 Generate Pentium instructions
-6 Generate Pentium Pro instructions
Compiler options | Calling convention
-p Use Pascal calling convention
-pc Use C calling convention (Default: -pc, -p-)
-pr Use fastcall calling convention for passing
parameters in registers
-ps Use stdcall calling convention
Compiler options | Assembler-code options
-B Compile to .ASM (-S), then assemble to .OBJ
-E<filename> Specify assembler
-S Compile to assembler
-Tx Specify assembler option x
C++ options | C++ compatibility
-VC Calling convention mangling compatibility
-Vd for loop variable scoping
-Ve Zero-length empty base classes
-Vl Use old-style Borland C++ structure layout (for compatibility
with older versions of BCC32.EXE)
-Vmd Use the smallest possible representation for member pointers
-Vmm Support multiple inheritance for member pointers
-Vmp Honor declared precision of member pointers
-Vms Support single inheritance for member pointers
-Vmv Place no restrictions on where member pointers can point (Default)
-Vx Zero-length empty class member functions
-xdg Use global destructor count (for compatibility with
older versions of BCC32.EXE)
C++ options | Virtual tables
-V Use smart C++ virtual tables (Default)
-V0 External C++ virtual tables
-V1 Public C++ virtual tables
C++ options | Templates
-Ja Expand all template members (including unused members)
-Jgd Generate definitions for all template instances and merge duplicates (Default)
-Jgx Generate external references for all template instances
C++ options | Exception handling
-x Enable exception handling (Default)
-xp Enable exception location information
-xd Enable destructor cleanup (Default)
-xf Enable fast exception prologs
-xs Enable slow exception epilogues
-RT Enable runtime type information (Default)
Optimization options
-G, -G- Optimize for size/speed; use � O1 and �O2 instead
-O Optimize jumps
-O1 Generate smallest possible code
-O2 Generate fastest possible code
-Oc Eliminate duplicate expressions within basic blocks and functions
-Od Disable all optimizations
-Oi Expand common intrinsic functions
-OS Pentium instruction scheduling
-Og Optimize for speed; use �O2 instead
-Os, -Ot Optimize for speed/size; use �O2 and �O1 instead
-Ov Enable loop induction variable and strength reduction
-Ox Optimize for speed; use �O2 instead
Warning message options
-q Suppress compiler identification banner (Default = OFF)
-w Display warnings on
-wxxx Enable xxx warning message
-w-xxx Disable xxx warning message
-gn Warnings: stop after n messages (Default = 100)
-gb Stop batch compilation after first file with warnings (Default = OFF)
-jn Errors: stop after n messages (Default = 25)
-jb Stop batch compilation after first file with errors (Default = OFF)
Message options | Portability
-w-rpt -w-8069 Nonportable pointer conversion (Default ON)
-w-cpt -w-8011 Nonportable pointer comparison (Default ON)
-w-rng -w-8068 Constant out of range in comparison (Default ON)
-wcln -w8009 Constant is long
-wsig -w8071 Conversion may lose significant digits
-wucp -w8079 Mixing pointers to different 'char' types
Message options | ANSI violations
-w-voi -w-8081 Void functions may not return a value (Default ON)
-w-ret -w-8067 Both return and return of a value used (Default ON)
-w-sus -w-8075 Suspicious pointer conversion (Default ON)
-wstu -w8073 Undefined structure 'structure'
-w-dup -w-8017 Redefinition of 'macro' is not identical (Default ON)
-w-big -w-8007 Hexadecimal value contains more than three digits (Default ON)
-wbbf -w8005 Bit fields must be signed or unsigned int
-w-ext -w-8020 'identifier' is declared as both external and static (Default ON)
-w-dpu -w-8015 Declare type 'type' prior to use in prototype (Default ON)
-w-zdi -w-8082 Division by zero (Default ON)
-w-bei -w-8006 Initializing 'identifier' with 'identifier' (Default ON)
-wpin -w8061 Initialization is only partially bracketed
-wnak -w8036 Non-ANSI Keyword Used: '<keyword>' (Note: Use of this option is a requirement for ANSI conformance)
Message options | Obsolete C++
-w-obi -w-8052 Base initialization without a class name is now obsolete (Default ON)
-w-ofp -w-8054 Style of function definition is now obsolete (Default ON)
-w-pre -w-8063 Overloaded prefix operator 'operator' used as a postfix operator (Default ON)
Message options | Potential C++ errors
-w-nci -w-8038 The constant member 'identifier' is not initialized (Default ON)
-w-ncl -w-8039 Constructor initializer list ignored (Default ON)
-w-nin -w-8042 Initializer for object 'identifier' ignored (Default ON)
-w-eas -w-8018 Assigning �type� to �enum� (Default ON)
-w-hid -w-8022 'function1' hides virtual function 'function2' (Default ON)
-wncf -w-8037 Non-constant function �ident� called for const object
-w-ibc -w-8024 Base class 'class1' is also a base class of 'class2' (Default ON)
-w-dsz -w-8016 Array size for 'delete' ignored (Default ON)
-w-nst -w-8048 Use qualified name to access nested type 'type' (Default ON)
-whch -w-8021 Handler for 'type1' Hidden by Previous Handler for 'type2'
-w-mpc -w-8033 Conversion to type fails for members of virtual base class base (Default ON)
-w-mpd -w-8034 Maximum precision used for member pointer type <type> (Default ON)
-w-ntd -w-8049 Use '> >' for nested templates instead of '>>' (Default ON)
-w-thr -w-8078 Throw expression violates exception specification (Default ON)
-w-tai -w-8076 Template instance 'instance' is already instantiated (Default ON)
-w-tes -w-8077 Explicitly specializing an explicitly specialized class member makes no sense (Default ON)
-w-nvf -w-8051 Non-volatile function �function� called for volatile object (Default ON)
Message options | Inefficient C++ coding
-w-inl -w-8026, -w-8027 Functions containing ... are not expanded inline (Default ON)
-w-lin -w-8028 Temporary used to initialize 'identifier' (Default ON)
-w-lvc -w-8029, -w-8030, -w-8031, -w-8032 Temporary used for parameter (Default ON)
Message options | Potential errors
-w-ali -w-8086 Incorrect use of #pragma alias �aliasName� = �substitutename� (Default ON)
-w-cod -w-8093 Incorrect use of #pragma codeseg (Default ON)
-w-pcm -w-8094 Incorrect use of #pragma comment (Default ON)
-w-mes -w-8095 Incorrect use of #pragma message (Default ON)
-w-mcs -w-8096 Incorrect use of #pragma code_seg (Default ON)
-w-pia -w-8060 Possibly incorrect assignment (Default ON)
-wdef -w8013 Possible use of 'identifier' before definition
-wnod -w8045 No declaration for function 'function'
-w-pro -w-8064, -w-8065 Call to function with no prototype (Default ON)
-w-rvl -w-8070 Function should return a value (Default ON)
-wamb -w8000 Ambiguous operators need parentheses
-wprc -w8084 Suggest parentheses to clarify precedence (Default OFF)
-w-ccc -w-8008 Condition is always true OR Condition is always false (Default ON)
-w-com -w-8010 Continuation character \ found in // comment (Default ON)
-w-csu -w-8012 Comparing signed and unsigned values (Default ON)
-w-nfd -w-8040 Function body ignored (Default ON)
-w-ngu -w-8041 Negating unsigned value (Default ON)
-w-nma -w-8043 Macro definition ignored (Default ON)
-w-nmu -w-8044 #undef directive ignored (Default ON)
-w-nop -w-8046 Pragma option pop with no matching option push (Default ON)
-w-npp -w-8083 Pragma pack pop with no matching pack push (Default ON)
-w-nsf -w-8047 Declaration of static function 'function(...)' ignored (Default ON)
-w-osh -w-8055 Possible overflow in shift operation (Default ON)
-w-ovf -w-8056 Integer arithmetic overflow (Default ON)
-w-dig -w-8014 Declaration ignored (Default ON)
-w-pck -w-8059 Structure packing size has changed (Default ON)
-w-spa -w-8072 Suspicious pointer arithmetic (Default ON)
-w-ifr -w-8085 Function 'function' redefined as non-inline (Default ON)
-w-stl -w-8087 �operator==� must be publicly visible to be contained by a �name� (Default OFF)
-w-stl -w-8089 �operator<� must be publicly visible to be contained by a �name� (Default OFF)
-w-stl -w-8090 �operator<� must be publicly visible to be used by a �name� (Default OFF)
-w-stl -w-8091,-w-8092 �type� argument �argument� passed to �function� is a �type� iterator.
�type� iterator required (Default OFF)
Message options | Inefficient coding
-w-aus -w-8004 'identifier' is assigned a value that is never used (Default ON)
-w-par -w-8057 Parameter 'parameter' is never used (Default ON)
-wuse -w8080 'identifier' declared but never used
-wstv -w8074 Structure passed by value
-w-rch -w-8066 Unreachable code (Default ON)
-w-eff -w-8019 Code has no effect (Default ON)
Message options | General
-wasm -w8003 Unknown assembler instruction
-w-ill -w-8025 Ill-formed pragma (Default ON)
-w-ias -w-8023 Array variable 'identifier' is near (Default ON)
-wamp -w8001 Superfluous & with function
-w-obs -w-8053 'ident' is obsolete (Default ON)
-w-pch -w-8058 Cannot create precompiled header: �header� (Default ON)
-w-msg -w-8035 User-defined warnings
-w-asc -w-8002 Restarting compile using assembly (Default ON)
-w-nto -w-8050 No type OBJ file present. Disabling external types option. (Default ON)
-w-pow -w-8062 Previous options and warnings not restored (Default ON)
-w-onr -w-8097 Not all options can be restored at this time (Default ON)
# --------------------------- LCC ---------------------------------------------
Option Meaning
-A All warnings will be active.
-ansic Disallow the language extensions of lcc-win32.
-D Define the symbol following the D. Example:-DNODEBUG The symbol
NODEBUG is defined. Note: NO space between the D and the symbol
-check Check the given source for errors. No object file is generated.
-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.
-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.
-fno-inline The inline directive is ignored.
-Fo<file name> This forces the name of the output file.
-g2 Generate the debugging information.
-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:-Ic:\project\headers. Note NO space
between the I and the following path.
-libcdll Use declarations for lcclibc.dll.Files compiled with this option
should use the -dynamic option of the linker lcclnk.
-M Print in standard output the names of all files that the preprocessor
has opened when processing the given input file. 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.
-o <file>Use as the name of the output file the given name. Identical to the
Fo flag above.
-p6 Enable Pentium III instructions
-profile Inject code into the generated program to measure execution time.
This option is incompatible with debug level higher than 2.
-S Generate an assembly file. The output file name will be deduced from
the input file: for a compilation of foo.c you will obtain foo.asm.
-s n Set the switch density to n that must be a value between 0.0 and 1.0.
Example: -s 0.1
-shadows Warn when a local variable shadows a global one.
-U Undefine the symbol following the U.
-unused Warns about unused assignments and suppresses the dead code.
-v Show compiler version and compilation date
-z Generate a file with the intermediate language of lcc. The name of the
generated file will have a .lil extension.
-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.
-------------------------------------------------------------------------
Command line options are case sensitive. Use either "-" or "/" to
introduce an option in the command line.
Lcclnk command line options. Options are introduced with the character '-' or t
he character '/'.
-o <filename>
Sets the name of the output file to file name. Insert a space between the o and the
name of the file.
-errout <filename>
Write all warnings/error messages to the indicated file name.
-subsystem <subsystem>
Indicate the type of output file. Console or windows application
-stack-commit <number>
With this option, you can commit more pages than one (4096 bytes).
-stack-reserve <number>
The default stack size is 1MB. This changes this limit.
-dynamic
Use lcclibc.dll as default library and link to it dynamically instead of linking
to libc.lib.
-dll
This option indicates to the linker that a .dll should be created instead of
an .exe.
-map <filename>
Indicates the name of the map file.This option is incompatible with the -s option.
-nolibc
Do not include the standard C library.
-s Strips all symbolic and debugging information from the executable.
-version nn.nn
Adds the version number to the executable.
-errout=<filename>
Write all warnings or errors to the file name indicated.Note that no spaces
should separate the name from the equals sign.
-nounderscores
When creating a DLL for Visual Basic for instance, it is better to export names
without underscores from a DLL.
-entry <fnname>
Option fo setting the DLL entry point to the given function
-version
Print the version name
-------------------------- GCC ------------------------------------------------------
Switches:
-include <file> Include the contents of <file> before other files
-imacros <file> Accept definition of macros in <file>
-iprefix <path> Specify <path> as a prefix for next two options
-iwithprefix <dir> Add <dir> to the end of the system include path
-iwithprefixbefore <dir> Add <dir> to the end of the main include path
-isystem <dir> Add <dir> to the start of the system include path
-idirafter <dir> Add <dir> to the end of the system include path
-I <dir> Add <dir> to the end of the main include path
-I- Fine-grained include path control; see info docs
-nostdinc Do not search system include directories
(dirs specified with -isystem will still be used)
-nostdinc++ Do not search system include directories for C++
-o <file> Put output into <file>
-pedantic Issue all warnings demanded by strict ISO C
-pedantic-errors Issue -pedantic warnings as errors instead
-trigraphs Support ISO C trigraphs
-lang-c Assume that the input sources are in C
-lang-c89 Assume that the input sources are in C89
-lang-c++ Assume that the input sources are in C++
-lang-objc Assume that the input sources are in ObjectiveC
-lang-objc++ Assume that the input sources are in ObjectiveC++
-lang-asm Assume that the input sources are in assembler
-std=<std name> Specify the conformance standard; one of:
gnu89, gnu99, c89, c99, iso9899:1990,
iso9899:199409, iso9899:1999
-+ Allow parsing of C++ style features
-w Inhibit warning messages
-Wtrigraphs Warn if trigraphs are encountered
-Wno-trigraphs Do not warn about trigraphs
-Wcomment{s} Warn if one comment starts inside another
-Wno-comment{s} Do not warn about comments
-Wtraditional Warn about features not present in traditional C
-Wno-traditional Do not warn about traditional C
-Wundef Warn if an undefined macro is used by #if
-Wno-undef Do not warn about testing undefined macros
-Wimport Warn about the use of the #import directive
-Wno-import Do not warn about the use of #import
-Werror Treat all warnings as errors
-Wno-error Do not treat warnings as errors
-Wsystem-headers Do not suppress warnings from system headers
-Wno-system-headers Suppress warnings from system headers
-Wall Enable all preprocessor warnings
-M Generate make dependencies
-MM As -M, but ignore system header files
-MD Generate make dependencies and compile
-MMD As -MD, but ignore system header files
-MF <file> Write dependency output to the given file
-MG Treat missing header file as generated files
-MP Generate phony targets for all headers
-MQ <target> Add a MAKE-quoted target
-MT <target> Add an unquoted target
-D<macro> Define a <macro> with string '1' as its value
-D<macro>=<val> Define a <macro> with <val> as its value
-A<question>=<answer> Assert the <answer> to <question>
-A-<question>=<answer> Disable the <answer> to <question>
-U<macro> Undefine <macro>
-v Display the version number
-H Print the name of header files as they are used
-C Do not discard comments
-dM Display a list of macro definitions active at end
-dD Preserve macro definitions in output
-dN As -dD except that only the names are preserved
-dI Include #include directives in the output
-fpreprocessed Treat the input file as already preprocessed
-ftabstop=<number> Distance between tab stops for column reporting
-P Do not generate #line directives
-$ Do not allow '$' in identifiers
-remap Remap file names when including files
--version Display version information
-h or --help Display this information
-ffixed-<register> Mark <register> as being unavailable to the compiler
-fcall-used-<register> Mark <register> as being corrupted by function calls
-fcall-saved-<register> Mark <register> as being preserved across functions
-finline-limit=<number> Limits the size of inlined functions to <number>
-fmessage-length=<number> Limits diagnostics messages lengths to <number> characters per line.
0 suppresses line-wrapping
-fdiagnostics-show-location=[once | every-line] Indicates how often source location information
should be emitted, as prefix, at the beginning of diagnostics
when line-wrapping
-ftrapv Trap for signed overflow in addition / subtraction / multiplication
-fmem-report Report on permanent memory allocation at end of run
-ftime-report Report time taken by each compiler pass at end of run
-fsingle-precision-constant Convert floating point constant to single precision constant
-fbounds-check Generate code to check bounds before dereferencing pointers and arrays
-fbounded-pointers Compile pointers as triples: value, base & end
-funsafe-math-optimizations Allow math optimizations that may violate IEEE or ANSI standards
-ftrapping-math Floating-point operations can trap
-fmath-errno Set errno after built-in math functions
-fguess-branch-probability Enables guessing of branch probabilities
-fpeephole2 Enables an rtl peephole pass run before sched2
-fident Process #ident directives
-fleading-underscore External symbols have a leading underscore
-fssa-dce Enable aggressive SSA dead code elimination
-fssa-ccp Enable SSA conditional constant propagation
-fssa Enable SSA optimizations
-finstrument-functions Instrument function entry/exit with profiling calls
-fdump-unnumbered Suppress output of instruction numbers and line number notes in debugging dumps
-fmerge-all-constants Attempt to merge identical constants and constant variables
-fmerge-constants Attempt to merge identical constants accross compilation units
-falign-functions Align the start of functions
-falign-labels Align all labels
-falign-jumps Align labels which are only reached by jumping
-falign-loops Align the start of loops
-fstrict-aliasing Assume strict aliasing rules apply
-fargument-noalias-global Assume arguments do not alias each other or globals
-fargument-noalias Assume arguments may alias globals but not each other
-fargument-alias Specify that arguments may alias each other & globals
-fstack-check Insert stack checking code into the program
-fpack-struct Pack structure members together without holes
-foptimize-register-move Do the full regmove optimization pass
-fregmove Enables a register move optimization
-fgnu-linker Output GNU ld formatted global initializers
-fverbose-asm Add extra commentry to assembler output
-fdata-sections place data items into their own section
-ffunction-sections place each function into its own section
-finhibit-size-directive Do not generate .size directives
-fcommon Do not put uninitialized globals in the common section
-fcprop-registers Do the register copy-propagation optimization pass
-frename-registers Do the register renaming optimization pass
-freorder-blocks Reorder basic blocks to improve code placement
-fbranch-probabilities Use profiling information for branch probabilities
-ftest-coverage Create data files needed by gcov
-fprofile-arcs Insert arc based program profiling code
-fnon-call-exceptions Support synchronous non-call exceptions
-fasynchronous-unwind-tables Generate unwind tables exact at each instruction boundary
-funwind-tables Just generate unwind tables for exception handling
-fexceptions Enable exception handling
-fpic Generate position independent code, if possible
-fbranch-count-reg Replace add,compare,branch with branch on count reg
-fsched-spec-load-dangerous Allow speculative motion of more loads
-fsched-spec-load Allow speculative motion of some loads
-fsched-spec Allow speculative motion of non-loads
-fsched-interblock Enable scheduling across basic blocks
-fschedule-insns2 Reschedule instructions after register allocation
-fschedule-insns Reschedule instructions before register allocation
-fpretend-float Pretend that host and target use the same FP format
-fdelete-null-pointer-checks Delete useless null pointer checks
-frerun-loop-opt Run the loop optimizer twice
-frerun-cse-after-loop Run CSE pass after loop optimizations
-fgcse-sm Perform store motion after global subexpression elimination
-fgcse-lm Perform enhanced load motion during global subexpression elimination
-fgcse Perform the global common subexpression elimination
-fdelayed-branch Attempt to fill delay slots of branch instructions
-freg-struct-return Return 'short' aggregates in registers
-fpcc-struct-return Return 'short' aggregates in memory, not registers
-fcaller-saves Enable saving registers around function calls
-fshared-data Mark data as shared rather than private
-fsyntax-only Check for syntax errors, then stop
-fkeep-static-consts Emit static const variables even if they are not used
-finline Pay attention to the 'inline' keyword
-fkeep-inline-functions Generate code for funcs even if they are fully inlined
-finline-functions Integrate simple functions into their callers
-ffunction-cse Allow function addresses to be held in registers
-fforce-addr Copy memory address constants into regs before using
-fforce-mem Copy memory operands into registers before using
-fpeephole Enable machine specific peephole optimizations
-fwritable-strings Store strings in writable data section
-freduce-all-givs Strength reduce all loop general induction variables
-fmove-all-movables Force all loop invariant computations out of loops
-fprefetch-loop-arrays Generate prefetch instructions, if available, for arrays in loops
-funroll-all-loops Perform loop unrolling for all loops
-funroll-loops Perform loop unrolling when iteration count is known
-fstrength-reduce Perform strength reduction optimizations
-fthread-jumps Perform jump threading optimizations
-fexpensive-optimizations Perform a number of minor, expensive optimizations
-fcse-skip-blocks When running CSE, follow conditional jumps
-fcse-follow-jumps When running CSE, follow jumps to their targets
-foptimize-sibling-calls Optimize sibling and tail recursive calls
-fomit-frame-pointer When possible do not generate stack frames
-fdefer-pop Defer popping functions args from stack until later
-fvolatile-static Consider all mem refs to static data to be volatile
-fvolatile-global Consider all mem refs to global data to be volatile
-fvolatile Consider all mem refs through pointers as volatile
-ffloat-store Do not store floats in registers
-feliminate-dwarf2-dups Perform DWARF2 duplicate elimination
-O[number] Set optimization level to [number]
-Os Optimize for space rather than speed
--param max-gcse-passes=<value> The maximum number of passes to make when doing GCSE
--param max-gcse-memory=<value> The maximum amount of memory to be allocated by GCSE
--param max-pending-list-length=<value> The maximum length of scheduling's pending operations list
--param max-delay-slot-live-search=<value> The maximum number of instructions to consider to find
accurate live register information
--param max-delay-slot-insn-search=<value> The maximum number of instructions to consider to fill a delay slot
--param max-inline-insns=<value> The maximum number of instructions in a function that
is eligible for inlining
-pedantic Issue warnings needed by strict compliance to ISO C
-pedantic-errors Like -pedantic except that errors are produced
-w Suppress warnings
-W Enable extra warnings
-Wmissing-noreturn Warn about functions which might be candidates for attribute noreturn
-Wdeprecated-declarations Warn about uses of __attribute__((deprecated)) declarations
-Wdisabled-optimization Warn when an optimization pass is disabled
-Wpadded Warn when padding is required to align struct members
-Wpacked Warn when the packed attribute has no effect on struct layout
-Winline Warn when an inlined function cannot be inlined
-Wuninitialized Warn about uninitialized automatic variables
-Wunreachable-code Warn about code that will never be executed
-Wcast-align Warn about pointer casts which increase alignment
-Waggregate-return Warn about returning structures, unions or arrays
-Wswitch Warn about enumerated switches missing a specific case
-Wshadow Warn when one local variable shadows another
-Werror Treat all warnings as errors
-Wsystem-headers Do not suppress warnings from system headers
-Wunused-value Warn when an expression value is unused
-Wunused-variable Warn when a variable is unused
-Wunused-parameter Warn when a function parameter is unused
-Wunused-label Warn when a label is unused
-Wunused-function Warn when a function is unused
-Wunused Enable unused warnings
-Wlarger-than-<number> Warn if an object is larger than <number> bytes
-p Enable function profiling
-o <file> Place output into <file>
-G <number> Put global and static data smaller than <number>
bytes into a special section (on some targets)
-gcoff Generate COFF format debug info
-gstabs+ Generate extended STABS format debug info
-gstabs Generate STABS format debug info
-ggdb Generate debugging info in default extended format
-g Generate debugging info in default format
-aux-info <file> Emit declaration info into <file>
-quiet Do not display functions compiled or elapsed time
-version Display the compiler's version
-d[letters] Enable dumps from specific passes of the compiler
-dumpbase <file> Base name to be used for dumps from specific passes
-fsched-verbose=<number> Set the verbosity level of the scheduler
--help Display this information
Language specific options:
-ansi Compile just for ISO C89
-fallow-single-precisio Do not promote floats to double if using -traditional
-std= Determine language standard
-funsigned-bitfields Make bit-fields by unsigned by default
-fsigned-char Make 'char' be signed by default
-funsigned-char Make 'char' be unsigned by default
-traditional Attempt to support traditional K&R style C
-fno-asm Do not recognize the 'asm' keyword
-fno-builtin Do not recognize any built in functions
-fhosted Assume normal C execution environment
-ffreestanding Assume that standard libraries & main might not exist
-fcond-mismatch Allow different types as args of ? operator
-fdollars-in-identifier Allow the use of $ inside identifiers
-fshort-double Use the same size for double as for float
-fshort-enums Use the smallest fitting integer to hold enums
-fshort-wchar Override the underlying type for wchar_t to `unsigned short'
-Wall Enable most warning messages
-Wbad-function-cast Warn about casting functions to incompatible types
-Wmissing-format-attrib Warn about functions which might be candidates for format attributes
-Wcast-qual Warn about casts which discard qualifiers
-Wchar-subscripts Warn about subscripts whose type is 'char'
-Wcomment Warn if nested comments are detected
-Wcomments Warn if nested comments are detected
-Wconversion Warn about possibly confusing type conversions
-Wformat Warn about printf/scanf/strftime/strfmon format anomalies
-Wno-format-y2k Don't warn about strftime formats yielding 2 digit years
-Wno-format-extra-args Don't warn about too many arguments to format functions
-Wformat-nonliteral Warn about non-string-literal format strings
-Wformat-security Warn about possible security problems with format functions
-Wimplicit-function-dec Warn about implicit function declarations
-Wimplicit-int Warn when a declaration does not specify a type
-Wimport Warn about the use of the #import directive
-Wno-long-long Do not warn about using 'long long' when -pedantic
-Wmain Warn about suspicious declarations of main
-Wmissing-braces Warn about possibly missing braces around initializers
-Wmissing-declarations Warn about global funcs without previous declarations
-Wmissing-prototypes Warn about global funcs without prototypes
-Wmultichar Warn about use of multicharacter literals
-Wnested-externs Warn about externs not at file scope level
-Wparentheses Warn about possible missing parentheses
-Wsequence-point Warn about possible violations of sequence point rules
-Wpointer-arith Warn about function pointer arithmetic
-Wredundant-decls Warn about multiple declarations of the same object
-Wsign-compare Warn about signed/unsigned comparisons
-Wfloat-equal Warn about testing equality of floating point numbers
-Wunknown-pragmas Warn about unrecognized pragmas
-Wstrict-prototypes Warn about non-prototyped function decls
-Wtraditional Warn about constructs whose meaning change in ISO C
-Wtrigraphs Warn when trigraphs are encountered
-Wwrite-strings Mark strings as 'const char *'
Options for Ada:
-gnat Specify options to GNAT
-I Name of directory to search for sources
-nostdinc Don't use system library for sources
Options for C++:
-fno-access-control Do not obey access control semantics
-falt-external-template Change when template instances are emitted
-fcheck-new Check the return value of new
-fconserve-space Reduce size of object files
-fno-const-strings Make string literals `char[]' instead of `const char[]'
-fdump-translation-unit Dump the entire translation unit to a file
-fno-default-inline Do not inline member functions by default
-fno-rtti Do not generate run time type descriptor information
-fno-enforce-eh-specs Do not generate code to check exception specifications
-fno-for-scope Scope of for-init-statement vars extends outside
-fno-gnu-keywords Do not recognize GNU defined keywords
-fhuge-objects Enable support for huge objects
-fno-implement-inlines Export functions even if they can be inlined
-fno-implicit-templates Only emit explicit template instatiations
-fno-implicit-inline-te Only emit explicit instatiations of inline templates
-fms-extensions Don't pedwarn about uses of Microsoft extensions
-foperator-names Recognize and/bitand/bitor/compl/not/or/xor
-fno-optional-diags Disable optional diagnostics
-fpermissive Downgrade conformance errors to warnings
-frepo Enable automatic template instantiation
-fstats Display statistics accumulated during compilation
-ftemplate-depth- Specify maximum template instantiation depth
-fuse-cxa-atexit Use __cxa_atexit to register destructors
-fvtable-gc Discard unused virtual functions
-fvtable-thunks Implement vtables using thunks
-fweak Emit common-like symbols as weak symbols
-fxref Emit cross referencing information
-Wreturn-type Warn about inconsistent return types
-Woverloaded-virtual Warn about overloaded virtual function names
-Wno-ctor-dtor-privacy Don't warn when all ctors/dtors are private
-Wnon-virtual-dtor Warn about non virtual destructors
-Wextern-inline Warn when a function is declared extern, then inline
-Wreorder Warn when the compiler reorders code
-Wsynth Warn when synthesis behavior differs from Cfront
-Wno-pmf-conversions Don't warn when type converting pointers to member functions
-Weffc++ Warn about violations of Effective C++ style rules
-Wsign-promo Warn when overload promotes from unsigned to signed
-Wold-style-cast Warn if a C style cast is used in a program
-Wno-non-template-frien Don't warn when non-templatized friend functions are declared within a template
-Wno-deprecated Don't announce deprecation of compiler features
Options for Objective C:
-gen-decls Dump decls to a .decl file
-fgnu-runtime Generate code for GNU runtime environment
-fnext-runtime Generate code for NeXT runtime environment
-Wselector Warn if a selector has multiple methods
-Wno-protocol Do not warn if inherited methods are unimplemented
-print-objc-runtime-inf Generate C header of platform specific features
-fconstant-string-class Specify the name of the class for constant strings
Target specific options:
-mms-bitfields Use MS bitfield layout
-mno-ms-bitfields Don't use MS bitfield layout
-mthreads Use Mingw-specific thread support
-mnop-fun-dllimport Ignore dllimport for functions
-mdll Generate code for a DLL
-mwindows Create GUI application
-mconsole Create console application
-mwin32 Set Windows defines
-mno-win32 Don't set Windows defines
-mcygwin Use the Cygwin interface
-mno-cygwin Use the Mingw32 interface
-mno-red-zone Do not use red-zone in the x86-64 code
-mred-zone Use red-zone in the x86-64 code
-m32 Generate 32bit i386 code
-m64 Generate 64bit x86-64 code
-m96bit-long-double sizeof(long double) is 12
-m128bit-long-double sizeof(long double) is 16
-mno-sse2 Do not support MMX, SSE and SSE2 built-in functions and code generation
-msse2 Support MMX, SSE and SSE2 built-in functions and code generation
-mno-sse Do not support MMX and SSE built-in functions and code generation
-msse Support MMX and SSE built-in functions and code generation
-mno-3dnow Do not support 3DNow! built-in functions
-m3dnow Support 3DNow! built-in functions
-mno-mmx Do not support MMX built-in functions
-mmmx Support MMX built-in functions
-mno-accumulate-outgoing- Do not use push instructions to save outgoing arguments
-maccumulate-outgoing-arg Use push instructions to save outgoing arguments
-mno-push-args Do not use push instructions to save outgoing arguments
-mpush-args Use push instructions to save outgoing arguments
-mno-inline-all-stringops Do not inline all known string operations
-minline-all-stringops Inline all known string operations
-mno-align-stringops Do not align destination of the string operations
-malign-stringops Align destination of the string operations
-mstack-arg-probe Enable stack probing
-momit-leaf-frame-pointer Omit the frame pointer in leaf functions
-mfancy-math-387 Generate sin, cos, sqrt for FPU
-mno-fancy-math-387 Do not generate sin, cos, sqrt for FPU
-mno-fp-ret-in-387 Do not return values of functions in FPU registers
-mfp-ret-in-387 Return values of functions in FPU registers
-mno-ieee-fp Do not use IEEE math for fp comparisons
-mieee-fp Use IEEE math for fp comparisons
-mno-svr3-shlib Uninitialized locals in .data
-msvr3-shlib Uninitialized locals in .bss
-mno-align-double Align doubles on word boundary
-malign-double Align some doubles on dword boundary
-mno-rtd Use normal calling convention
-mrtd Alternate calling convention
-mno-soft-float Use hardware fp
-msoft-float Do not use hardware fp
-mhard-float Use hardware fp
-mno-80387 Do not use hardware fp
-m80387 Use hardware fp
-masm= Use given assembler dialect
-mcmodel= Use given x86-64 code model
-mbranch-cost= Branches are this expensive (1-5, arbitrary units)
-mpreferred-stack-boundar Attempt to keep stack aligned to this power of 2
-malign-functions= Function starts are aligned to this power of 2
-malign-jumps= Jump targets are aligned to this power of 2
-malign-loops= Loop code aligned to this power of 2
-mregparm= Number of registers used to pass integer arguments
-march= Generate code for given CPU
-mfpmath= Generate floating point mathematics using given instruction set
-mcpu= Schedule code for given CPU
There are undocumented target specific options as well.
Usage: .\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\as.exe [option...] [asmfile...]
Options:
-a[sub-option...] turn on listings
Sub-options [default hls]:
c omit false conditionals
d omit debugging directives
h include high-level source
l include assembly
m include macro expansions
n omit forms processing
s include symbols
=FILE list to FILE (must be last sub-option)
-D produce assembler debugging messages
--defsym SYM=VAL define symbol SYM to given value
-f skip whitespace and comment preprocessing
--gstabs generate stabs debugging information
--gdwarf2 generate DWARF2 debugging information
--help show this message and exit
--target-help show target specific options
-I DIR add DIR to search list for .include directives
-J don't warn about signed overflow
-K warn when differences altered for long displacements
-L,--keep-locals keep local symbols (e.g. starting with `L')
-M,--mri assemble in MRI compatibility mode
--MD FILE write dependency information in FILE (default none)
-nocpp ignored
-o OBJFILE name the object-file output OBJFILE (default a.out)
-R fold data section into text section
--statistics print various measured statistics from execution
--strip-local-absolute strip local absolute symbols
--traditional-format Use same format as native assembler when possible
--version print assembler version number and exit
-W --no-warn suppress warnings
--warn don't suppress warnings
--fatal-warnings treat warnings as errors
--itbl INSTTBL extend instruction set to include instructions
matching the specifications defined in file INSTTBL
-w ignored
-X ignored
-Z generate object file even after errors
--listing-lhs-width set the width in words of the output data column of
the listing
--listing-lhs-width2 set the width in words of the continuation lines
of the output data column; ignored if smaller than
the width of the first line
--listing-rhs-width set the max width in characters of the lines from
the source file
--listing-cont-lines set the maximum number of continuation lines used
for the output data column of the listing
-q quieten some warnings
Report bugs to bug-binutils@gnu.org
Usage: .\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe [options] file...
Options:
-a KEYWORD Shared library control for HP/UX compatibility
-A ARCH, --architecture ARCH
Set architecture
-b TARGET, --format TARGET Specify target for following input files
-c FILE, --mri-script FILE Read MRI format linker script
-d, -dc, -dp Force common symbols to be defined
-e ADDRESS, --entry ADDRESS Set start address
-E, --export-dynamic Export all dynamic symbols
-EB Link big-endian objects
-EL Link little-endian objects
-f SHLIB, --auxiliary SHLIB Auxiliary filter for shared object symbol table
-F SHLIB, --filter SHLIB Filter for shared object symbol table
-g Ignored
-G SIZE, --gpsize SIZE Small data size (if no size, same as --shared)
-h FILENAME, -soname FILENAME
Set internal name of shared library
-I PROGRAM, --dynamic-linker PROGRAM
Set PROGRAM as the dynamic linker to use
-l LIBNAME, --library LIBNAME
Search for library LIBNAME
-L DIRECTORY, --library-path DIRECTORY
Add DIRECTORY to library search path
-m EMULATION Set emulation
-M, --print-map Print map file on standard output
-n, --nmagic Do not page align data
-N, --omagic Do not page align data, do not make text readonly
-o FILE, --output FILE Set output file name
-O Optimize output file
-Qy Ignored for SVR4 compatibility
-q, --emit-relocs Generate relocations in final output
-r, -i, --relocateable Generate relocateable output
-R FILE, --just-symbols FILE
Just link symbols (if directory, same as --rpath)
-s, --strip-all Strip all symbols
-S, --strip-debug Strip debugging symbols
-t, --trace Trace file opens
-T FILE, --script FILE Read linker script
-u SYMBOL, --undefined SYMBOL
Start with undefined reference to SYMBOL
--unique [=SECTION] Don't merge input [SECTION | orphan] sections
-Ur Build global constructor/destructor tables
-v, --version Print version information
-V Print version and emulation information
-x, --discard-all Discard all local symbols
-X, --discard-locals Discard temporary local symbols (default)
--discard-none Don't discard any local symbols
-y SYMBOL, --trace-symbol SYMBOL
Trace mentions of SYMBOL
-Y PATH Default search path for Solaris compatibility
-(, --start-group Start a group
-), --end-group End a group
-assert KEYWORD Ignored for SunOS compatibility
-Bdynamic, -dy, -call_shared
Link against shared libraries
-Bstatic, -dn, -non_shared, -static
Do not link against shared libraries
-Bsymbolic Bind global references locally
--check-sections Check section addresses for overlaps (default)
--no-check-sections Do not check section addresses for overlaps
--cref Output cross reference table
--defsym SYMBOL=EXPRESSION Define a symbol
--demangle [=STYLE] Demangle symbol names [using STYLE]
--embedded-relocs Generate embedded relocs
-fini SYMBOL Call SYMBOL at unload-time
--force-exe-suffix Force generation of file with .exe suffix
--gc-sections Remove unused sections (on some targets)
--no-gc-sections Don't remove unused sections (default)
--help Print option help
-init SYMBOL Call SYMBOL at load-time
-Map FILE Write a map file
--no-define-common Do not define Common storage
--no-demangle Do not demangle symbol names
--no-keep-memory Use less memory and more disk I/O
--no-undefined Allow no undefined symbols
--allow-shlib-undefined Allow undefined symbols in shared objects
--allow-multiple-definition Allow multiple definitions
--no-undefined-version Disallow undefined version
--no-warn-mismatch Don't warn about mismatched input files
--no-whole-archive Turn off --whole-archive
--noinhibit-exec Create an output file even if errors occur
-nostdlib Only use library directories specified on
the command line
--oformat TARGET Specify target of output file
-qmagic Ignored for Linux compatibility
--relax Relax branches on certain targets
--retain-symbols-file FILE Keep only symbols listed in FILE
-rpath PATH Set runtime shared library search path
-rpath-link PATH Set link time shared library search path
-shared, -Bshareable Create a shared library
--sort-common Sort common symbols by size
--spare-dynamic-tags COUNT How many tags to reserve in .dynamic section
--split-by-file [=SIZE] Split output sections every SIZE octets
--split-by-reloc [=COUNT] Split output sections every COUNT relocs
--stats Print memory usage statistics
--target-help Display target specific options
--task-link SYMBOL Do task level linking
--traditional-format Use same format as native linker
--section-start SECTION=ADDRESS
Set address of named section
-Tbss ADDRESS Set address of .bss section
-Tdata ADDRESS Set address of .data section
-Ttext ADDRESS Set address of .text section
--verbose Output lots of information during link
--version-script FILE Read version information script
--version-exports-section SYMBOL
Take export symbols list from .exports, using
SYMBOL as the version.
--warn-common Warn about duplicate common symbols
--warn-constructors Warn if global constructors/destructors are seen
--warn-multiple-gp Warn if the multiple GP values are used
--warn-once Warn only once per undefined symbol
--warn-section-align Warn if start of section changes due to alignment
--fatal-warnings Treat warnings as errors
--whole-archive Include all objects from following archives
--wrap SYMBOL Use wrapper functions for SYMBOL
--mpc860c0 [=WORDS] Modify problematic branches in last WORDS (1-10,
default 5) words of a page
.\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: supported targets:
pe-i386 pei-i386 elf32-i386 elf32-little elf32-big srec symbolsrec tekhex binary ihex
.\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: supported emulations: i386pe
.\..\lib\gcc-lib\mingw32\3.2\..\..\..\..\mingw32\bin\ld.exe: emulation specific options:
i386pe:
--base_file <basefile> Generate a base file for relocatable DLLs
--dll Set image base to the default for DLLs
--file-alignment <size> Set file alignment
--heap <size> Set initial size of the heap
--image-base <address> Set start address of the executable
--major-image-version <number> Set version number of the executable
--major-os-version <number> Set minimum required OS version
--major-subsystem-version <number> Set minimum required OS subsystem version
--minor-image-version <number> Set revision number of the executable
--minor-os-version <number> Set minimum required OS revision
--minor-subsystem-version <number> Set minimum required OS subsystem revision
--section-alignment <size> Set section alignment
--stack <size> Set size of the initial stack
--subsystem <name>[:<version>] Set required OS subsystem [& version]
--support-old-code Support interworking with old code
--thumb-entry=<symbol> Set the entry point to be Thumb <symbol>
--add-stdcall-alias Export symbols with and without @nn
--disable-stdcall-fixup Don't link _sym to _sym@nn
--enable-stdcall-fixup Link _sym to _sym@nn without warnings
--exclude-symbols sym,sym,... Exclude symbols from automatic export
--exclude-libs lib,lib,... Exclude libraries from automatic export
--export-all-symbols Automatically export all globals to DLL
--kill-at Remove @nn from exported symbols
--out-implib <file> Generate import library
--output-def <file> Generate a .DEF file for the built DLL
--warn-duplicate-exports Warn about duplicate exports.
--compat-implib Create backward compatible import libs;
create __imp_<SYMBOL> as well.
--enable-auto-image-base Automatically choose image base for DLLs
unless user specifies one
--disable-auto-image-base Do not auto-choose image base. (default)
--dll-search-prefix=<string> When linking dynamically to a dll without an
importlib, use <string><basename>.dll
in preference to lib<basename>.dll
--enable-auto-import Do sophistcated linking of _sym to
__imp_sym for DATA references
--disable-auto-import Do not auto-import DATA items from DLLs
--enable-extra-pe-debug Enable verbose debug output when building
or linking to DLLs (esp. auto-import)
Report bugs to bug-binutils@gnu.org
Usage: gcc [options] file...
Options:
-pass-exit-codes Exit with highest error code from a phase
--help Display this information
--target-help Display target specific command line options
-dumpspecs Display all of the built in spec strings
-dumpversion Display the version of the compiler
-dumpmachine Display the compiler's target processor
-print-search-dirs Display the directories in the compiler's search path
-print-libgcc-file-name Display the name of the compiler's companion library
-print-file-name=<lib> Display the full path to library <lib>
-print-prog-name=<prog> Display the full path to compiler component <prog>
-print-multi-directory Display the root directory for versions of libgcc
-print-multi-lib Display the mapping between command line options and
multiple library search directories
-Wa,<options> Pass comma-separated <options> on to the assembler
-Wp,<options> Pass comma-separated <options> on to the preprocessor
-Wl,<options> Pass comma-separated <options> on to the linker
-Xlinker <arg> Pass <arg> on to the linker
-save-temps Do not delete intermediate files
-pipe Use pipes rather than intermediate files
-time Time the execution of each subprocess
-specs=<file> Override built-in specs with the contents of <file>
-std=<standard> Assume that the input sources are for <standard>
-B <directory> Add <directory> to the compiler's search paths
-b <machine> Run gcc for target <machine>, if installed
-V <version> Run gcc version number <version>, if installed
-v Display the programs invoked by the compiler
-### Like -v but options quoted and commands not executed
-E Preprocess only; do not compile, assemble or link
-S Compile only; do not assemble or link
-c Compile and assemble, but do not link
-o <file> Place the output into <file>
-x <language> Specify the language of the following input files
Permissable languages include: c c++ assembler none
'none' means revert to the default behavior of
guessing the language based on the file's extension
Options starting with -g, -f, -m, -O, -W, or --param are automatically
passed on to the various sub-processes invoked by gcc. In order to pass
other options on to these processes the -W<letter> options must be used.
For bug reporting instructions, please see:
<URL:http://www.gnu.org/software/gcc/bugs.html>
------------------------ DMC --------------------------------------------------
Digital Mars Compiler Version 8.38n
Copyright (C) Digital Mars 2000-2003. All Rights Reserved.
Written by Walter Bright www.digitalmars.com
DMC is a one-step program to compile and link C++, C and ASM files.
Usage ([] means optional, ... means zero or more):
DMC file... [flags...] [@respfile]
file... .CPP, .C or .ASM source, .OBJ object or .LIB library file name
@respfile... pick up arguments from response file or environment variable
flags... one of the following:
-a[1|2|4|8] alignment of struct members -A strict ANSI C/C++
-Aa enable new[] and delete[] -Ab enable bool
-Ae enable exception handling -Ar enable RTTI
-B[e|f|g|j] message language: English, French, German, Japanese
-c skip the link, do compile only -cpp source files are C++
-cod generate .cod (assembly) file -C no inline function expansion
-d generate .dep (make dependency) file
-D #define DEBUG 1 -Dmacro[=text] define macro
-e show results of preprocessor -EC do not elide comments
-EL #line directives not output -f IEEE 754 inline 8087 code
-fd work around FDIV problem -ff fast inline 8087 code
-g generate debug info
-gf disable debug info optimization -gg make static functions global
-gh symbol info for globals -gl debug line numbers only
-gp generate pointer validations -gs debug symbol info only
-gt generate trace prolog/epilog -GTnnnn set data threshold to nnnn
-H use precompiled headers (ph) -HDdirectory use ph from directory
-HF[filename] generate ph to filename -HIfilename #include "filename"
-HO include files only once -HS only search -I directories
-HX automatic precompiled headers
-Ipath #include file search path -j[0|1|2] Asian language characters
0: Japanese 1: Taiwanese and Chinese 2: Korean
-Jm relaxed type checking -Ju char==unsigned char
-Jb no empty base class optimization -J chars are unsigned
-l[listfile] generate list file -L using non-Digital Mars linker
-Llink specify linker to use -L/switch pass /switch to linker
-Masm specify assembler to use -M/switch pass /switch to assembler
-m[tsmclvfnrpxz][do][w][u] set memory model
s: small code and data m: large code, small data
c: small code, large data l: large code and data
v: VCM r: Rational 16 bit DOS Extender
p: Pharlap 32 bit DOS Extender x: DOSX 32 bit DOS Extender
z: ZPM 16 bit DOS Extender f: OS/2 2.0 32 bit
t: .COM file n: Windows 32s/95/98/NT/2000/ME/XP
d: DOS 16 bit o: OS/2 16 bit
w: SS != DS u: reload DS
-Nc function level linking -NL no default library
-Ns place expr strings in code seg -NS new code seg for each function
-NTname set code segment name -NV vtables in far data
-o[-+flag] run optimizer with flag -ooutput output filename
-p turn off autoprototyping -P default to pascal linkage
-Pz default to stdcall linkage -r strict prototyping
-R put switch tables in code seg -s stack overflow checking
-S always generate stack frame -u suppress predefined macros
-v[0|1|2] verbose compile -w suppress all warnings
-wc warn on C style casts
-wn suppress warning number n -wx treat warnings as errors
-W{0123ADabdefmrstuvwx-+} Windows prolog/epilog
-WA Windows EXE
-WD Windows DLL
-x turn off error maximum -XD instantiate templates
-XItemp<type> instantiate template class temp<type>
-XIfunc(type) instantiate template function func(type)
-[0|2|3|4|5|6] 8088/286/386/486/Pentium/P6 code
------------------------------- TCC ----------------------------------------------
`-v'
Display current TCC version.
`-c'
Generate an object file (`-o' option must also be given).
`-o outfile'
Put object file, executable, or dll into output file `outfile'.
`-Bdir'
Set the path where the tcc internal libraries can be found (default is `PREFIX/lib/tcc').
`-bench'
Output compilation statistics.
`-run source [args...]'
Compile file source and run it with the command line arguments args. In
order to be able to give more than one argument to a script, several TCC options
can be given after the `-run' option, separated by spaces. Example:
tcc "-run -L/usr/X11R6/lib -lX11" ex4.c
In a script, it gives the following header:
#!/usr/local/bin/tcc -run -L/usr/X11R6/lib -lX11
#include <stdlib.h>
int main(int argc, char **argv)
{
...
}
Preprocessor options:
`-Idir'
Specify an additional include path. Include paths are searched in the order they
are specified. System include paths are always searched after. The default
system include paths are: `/usr/local/include', `/usr/include' and
`PREFIX/lib/tcc/include'. (`PREFIX' is usually `/usr' or `/usr/local').
`-Dsym[=val]'
Define preprocessor symbol `sym' to val. If val is not present, its value is `1'.
Function-like macros can also be defined: `-DF(a)=a+1'
`-Usym'
Undefine preprocessor symbol `sym'.
Compilation flags:
Note: each of the following warning options has a negative form beginning with `-fno-'.
`-funsigned-char'
Let the char type be unsigned.
`-fsigned-char'
Let the char type be signed.
`-fno-common'
Do not generate common symbols for uninitialized data.
`-fleading-underscore'
Add a leading underscore at the beginning of each C symbol.
Warning options:
`-w'
Disable all warnings.
Note: each of the following warning options has a negative form beginning with `-Wno-'.
`-Wimplicit-function-declaration'
Warn about implicit function declaration.
`-Wunsupported'
Warn about unsupported GCC features that are ignored by TCC.
`-Wwrite-strings'
Make string constants be of type const char * instead of char *.
`-Werror'
Abort compilation if warnings are issued.
`-Wall'
Activate all warnings, except `-Werror', `-Wunusupported' and `-Wwrite-strings'.
Linker options:
`-Ldir'
Specify an additional static library path for the `-l' option. The default
library paths are `/usr/local/lib', `/usr/lib' and `/lib'.
`-lxxx'
Link your program with dynamic library libxxx.so or static library libxxx.a.
The library is searched in the paths specified by the `-L' option.
`-shared'
Generate a shared library instead of an executable (`-o' option must also be given).
`-static'
Generate a statically linked executable (default is a shared linked executable)
(`-o' option must also be given).
`-rdynamic'
Export global symbols to the dynamic linker. It is useful when a library opened
with dlopen() needs to access executable symbols.
`-r'
Generate an object file combining all input files (`-o' option must also be given).
`-Wl,-Ttext,address'
Set the start of the .text section to address.
`-Wl,--oformat,fmt'
Use fmt as output format. The supported output formats are:
elf32-i386
ELF output format (default)
binary
Binary image (only for executable output)
coff
COFF output format (only for executable output for TMS320C67xx target)
Debugger options:
`-g'
Generate run time debug information so that you get clear run time error
messages: test.c:68: in function 'test5()': dereferencing invalid pointer
instead of the laconic Segmentation fault.
`-b'
Generate additional support code to check memory allocations and
array/pointer bounds. `-g' is implied. Note that the generated code is
slower and bigger in this case.
`-bt N'
Display N callers in stack traces. This is useful with `-g' or `-b'.
Note: GCC options `-Ox', `-fx' and `-mx' are ignored.
--------------------------- Visual C --------------------------------------------
C/C++ COMPILER OPTIONS
-OPTIMIZATION-
/O1 minimize space /Op[-] improve floating-pt consistency
/O2 maximize speed /Os favor code space
/Oa assume no aliasing /Ot favor code speed
/Ob<n> inline expansion (default n=0) /Ow assume cross-function aliasing
/Od disable optimizations (default) /Ox maximum opts. (/Ogityb2 /Gs)
/Og enable global optimization /Oy[-] enable frame pointer omission
/Oi enable intrinsic functions
-CODE GENERATION-
/G3 optimize for 80386 /Gh enable _penter function call
/G4 optimize for 80486 /GH enable _pexit function call
/G5 optimize for Pentium /GR[-] enable C++ RTTI
/G6 optimize for PPro, P-II, P-III /GX[-] enable C++ EH (same as /EHsc)
/G7 optimize for Pentium 4 or Athlon /EHs enable C++ EH (no SEH exceptions)
/GB optimize for blended model (default) /EHa enable C++ EH (w/ SEH exceptions)
/Gd __cdecl calling convention /EHc extern "C" defaults to nothrow
/Gr __fastcall calling convention /GT generate fiber-safe TLS accesses
/Gz __stdcall calling convention /Gm[-] enable minimal rebuild
/GA optimize for Windows Application /GL[-] enable link-time code generation
/Gf enable string pooling /QIfdiv[-] enable Pentium FDIV fix
/GF enable read-only string pooling /QI0f[-] enable Pentium 0x0f fix
/Gy separate functions for linker /QIfist[-] use FIST instead of ftol()
/GZ Enable stack checks (/RTCs) /RTC1 Enable fast checks (/RTCsu)
/Ge force stack checking for all funcs /RTCc Convert to smaller type checks
/Gs[num] control stack checking calls /RTCs Stack Frame runtime checking
/GS enable security checks /RTCu Uninitialized local usage checks
/clr[:noAssembly] compile for the common language runtime
noAssembly - do not produce an assembly
/arch:<SSE|SSE2> minimum CPU architecture requirements, one of:
SSE - enable use of instructions available with SSE enabled CPUs
SSE2 - enable use of instructions available with SSE2 enabled CPUs
-OUTPUT FILES-
/Fa[file] name assembly listing file /Fo<file> name object file
/FA[sc] configure assembly listing /Fp<file> name precompiled header file
/Fd[file] name .PDB file /Fr[file] name source browser file
/Fe<file> name executable file /FR[file] name extended .SBR file
/Fm[file] name map file
-PREPROCESSOR-
/AI<dir> add to assembly search path /Fx merge injected code to file
/FU<file> forced using assembly/module /FI<file> name forced include file
/C don't strip comments /U<name> remove predefined macro
/D<name>{=|#}<text> define macro /u remove all predefined macros
/E preprocess to stdout /I<dir> add to include search path
/EP preprocess to stdout, no #line /X ignore "standard places"
/P preprocess to file
-LANGUAGE-
/Zi enable debugging information /Ze enable extensions (default)
/ZI enable Edit and Continue debug info /Zl omit default library name in .OBJ
/Z7 enable old-style debug info /Zg generate function prototypes
/Zd line number debugging info only /Zs syntax check only
/Zp[n] pack structs on n-byte boundary /vd{0|1} disable/enable vtordisp
/Za disable extensions (implies /Op) /vm<x> type of pointers to members
/Zc:arg1[,arg2] C++ language conformance, where arguments can be:
forScope - enforce Standard C++ for scoping rules
wchar_t - wchar_t is the native type, not a typedef
-MISCELLANEOUS-
@<file> options response file /wo<n> issue warning n once
/?, /help print this help message /w<l><n> set warning level 1-4 for n
/c compile only, no link /W<n> set warning level (default n=1)
/H<num> max external name length /Wall enable all warnings
/J default char type is unsigned /Wp64 enable 64 bit porting warnings
/nologo suppress copyright message /WX treat warnings as errors
/showIncludes show include file names /WL enable one line diagnostics
/Tc<source file> compile file as .c /Yc[file] create .PCH file
/Tp<source file> compile file as .cpp /Yd put debug info in every .OBJ
/TC compile all files as .c /Yl[sym] inject .PCH ref for debug lib
/TP compile all files as .cpp /Yu[file] use .PCH file
/V<string> set version string /YX[file] automatic .PCH
/w disable all warnings /Y- disable all PCH options
/wd<n> disable warning n /Zm<n> max memory alloc (% of default)
/we<n> treat warning n as an error
-LINKING-
/MD link with MSVCRT.LIB /MDd link with MSVCRTD.LIB debug lib
/ML link with LIBC.LIB /MLd link with LIBCD.LIB debug lib
/MT link with LIBCMT.LIB /MTd link with LIBCMTD.LIB debug lib
/LD Create .DLL /F<num> set stack size
/LDd Create .DLL debug library /link [linker options and libraries]
Microsoft (R) Incremental Linker Version 7.10.3077
Copyright (C) Microsoft Corporation. All rights reserved.
usage: LINK [options] [files] [@commandfile]
options:
/ALIGN:#
/ALLOWBIND[:NO]
/ASSEMBLYDEBUG[:DISABLE]
/ASSEMBLYLINKRESOURCE:filename
/ASSEMBLYMODULE:filename
/ASSEMBLYRESOURCE:filename
/BASE:{address|@filename,key}
/DEBUG
/DEF:filename
/DEFAULTLIB:library
/DELAY:{NOBIND|UNLOAD}
/DELAYLOAD:dll
/DELAYSIGN[:NO]
/DLL
/DRIVER[:{UPONLY|WDM}]
/ENTRY:symbol
/EXETYPE:DYNAMIC
/EXPORT:symbol
/FIXED[:NO]
/FORCE[:{MULTIPLE|UNRESOLVED}]
/HEAP:reserve[,commit]
/IDLOUT:filename
/IGNOREIDL
/IMPLIB:filename
/INCLUDE:symbol
/INCREMENTAL[:NO]
/KEYFILE:filename
/KEYCONTAINER:name
/LARGEADDRESSAWARE[:NO]
/LIBPATH:dir
/LTCG[:{NOSTATUS|PGINSTRUMENT|PGOPTIMIZE|STATUS}]
(PGINSTRUMENT and PGOPTIMIZE are only available for IA64)
/MACHINE:{AM33|ARM|EBC|IA64|M32R|MIPS|MIPS16|MIPSFPU|MIPSFPU16|MIPSR41XX|
SH3|SH3DSP|SH4|SH5|THUMB|X86}
/MAP[:filename]
/MAPINFO:{EXPORTS|LINES}
/MERGE:from=to
/MIDL:@commandfile
/NOASSEMBLY
/NODEFAULTLIB[:library]
/NOENTRY
/NOLOGO
/OPT:{ICF[=iterations]|NOICF|NOREF|NOWIN98|REF|WIN98}
/ORDER:@filename
/OUT:filename
/PDB:filename
/PDBSTRIPPED:filename
/PGD:filename
/RELEASE
/SAFESEH[:NO]
/SECTION:name,[E][R][W][S][D][K][L][P][X][,ALIGN=#]
/STACK:reserve[,commit]
/STUB:filename
/SUBSYSTEM:{CONSOLE|EFI_APPLICATION|EFI_BOOT_SERVICE_DRIVER|
EFI_ROM|EFI_RUNTIME_DRIVER|NATIVE|POSIX|WINDOWS|
WINDOWSCE}[,#[.##]]
/SWAPRUN:{CD|NET}
/TLBOUT:filename
/TSAWARE[:NO]
/TLBID:#
/VERBOSE[:{LIB|SAFESEH}]
/VERSION:#[.#]
/VXD
/WINDOWSCE:{CONVERT|EMULATION}
/WS:AGGRESSIVE
Microsoft (R) Library Manager Version 7.10.3077
Copyright (C) Microsoft Corporation. All rights reserved.
usage: LIB [options] [files]
options:
/DEF[:filename]
/EXPORT:symbol
/EXTRACT:membername
/INCLUDE:symbol
/LIBPATH:dir
/LIST[:filename]
/MACHINE:{AM33|ARM|EBC|IA64|M32R|MIPS|MIPS16|MIPSFPU|MIPSFPU16|MIPSR41XX|
SH3|SH3DSP|SH4|SH5|THUMB|X86}
/NAME:filename
/NODEFAULTLIB[:library]
/NOLOGO
/OUT:filename
/REMOVE:membername
/SUBSYSTEM:{CONSOLE|EFI_APPLICATION|EFI_BOOT_SERVICE_DRIVER|
EFI_ROM|EFI_RUNTIME_DRIVER|NATIVE|POSIX|WINDOWS|
WINDOWSCE}[,#[.##]]
/VERBOSE
Pelles Compiler Driver, Version 4.50.0
Copyright (c) Pelle Orinius 2002-2006
Syntax:
CC [options]
[@commandfile]
{ [compiler options] filename1.C [filename2.C ...] |
[assembler options] filename1.ASM [filename2.ASM ...] }
[filename1.RC [filename2.RC ...]]
[linker options]
Options:
/a Send assembly files to the C compiler (compatibility)
/c Compile only, no link
/Fe<execfile> Name the executable file
/Fo<outfile> Name the output file
Compiler options: see POCC
Assembler options: see POASM
Linker options: see POLINK
Pelles ISO C Compiler, Version 4.50.15
Copyright (c) Pelle Orinius 1999-2006
Syntax:
POCC [options] srcfile{.C|.ASM}
Options:
/D<name>[=<text>] Define a preprocessor symbol
/E Preprocess only (to stdout)
/Fo<outfile> Name the output file
/Gd Use __cdecl as default calling convention (default)
/Gh Enable hook function call
/Gm Don't decorate __stdcall or __fastcall symbols (if /Ze)
/Gn Don't decorate exported __stdcall symbols (if /Ze)
/Go Define compatibility names and use OLDNAMES.LIB
/Gr Use __fastcall as default calling convention (if /Ze)
/Gz Use __stdcall as default calling convention (if /Ze)
/I<path> Add a search path for #include files
/J Default char type is unsigned
/MD Enable dynamic C runtime library (POCRT.DLL)
/MT Enable multi-threading support (CRTMT.LIB)
/O1 Same as /Os
/O2 Same as /Ot
/Op[-] Improve floating-point consistency
/Os Optimize, favor code space
/Ot Optimize, favor code speed
/Ox Perform maximum optimizations
/T<target> Select output target (/T? displays a list)
/U<name> Undefine a preprocessor symbol
/V<n> Set verbosity level 0, 1 or 2 (default n = 0)
/W<n> Set warning level 0, 1 or 2 (default n = 1)
/X Don't search standard places for #include files
/Zd Enable line number debugging information
/Ze Enable Microsoft extensions
/Zg Write function prototypes to stdout
/Zi Enable full debugging information
/Zl Omit default library name in object file
/Zs Syntax check only
/Zx Enable Pelles C extensions
Pelles Macro Assembler, Version 1.00.34
Copyright (c) Pelle Orinius 2005-2006
Syntax:
POASM [options] srcfile[.ASM]
Options:
/A<name> Select architecture: IA32 (default), AMD64 or ARM
/D<name>[=<value>] Define a symbol (with optional value)
/Fo<outfile> Name the output file (default: srcfile.OBJ)
/Gd Use cdecl calling convention (default)
/Gr Use fastcall calling convention
/Gz Use stdcall calling convention
/I<path> Add a search path for include files
/V<n> Set verbosity level 0, 1 or 2 (default: n = 0)
/X Don't search standard places for include files
/Zd Enable line number debugging information
/Zg Write function prototypes to stdout
/Zi Enable full debugging information
Pelles Linker, Version 4.50.2
Copyright (c) Pelle Orinius 1998-2006
Syntax:
POLINK [options] [files] [@commandfile]
Options:
/ALIGN:#
/ALLOWBIND[:NO]
/BASE:address
/DEBUG[:NO]
/DEBUGTYPE:{CV|COFF|BOTH}
/DEF:filename
/DEFAULTLIB:library
/DELAY:{NOBIND|UNLOAD}
/DELAYLOAD:dll
/DLL
/DRIVER[:{UPONLY|WDM}]
/ENTRY:symbol
/EXPORT:symbol[=symbol][,@ordinal][,DATA]
/FIXED[:NO]
/FORCE:MULTIPLE
/HEAP:reserve[,commit]
/IMPLIB:filename
/INCLUDE:symbol
/LARGEADDRESSAWARE[:NO]
/LIBPATH:path
/MACHINE:{ARM|IX86|X86}
/MAP[:filename]
/MAPINFO:{EXPORTS|FIXUPS|LINES}
/MERGE:from=to
/NODEFAULTLIB
/NOENTRY
/OLDIMPLIB
/OPT:{REF|NOREF|WIN98|NOWIN98}
/OSVERSION:#[.##]
/OUT:filename
/RELEASE
/SECTION:name,[E][R][W][S][D][K][P]
/STACK:reserve[,commit]
/STUB:filename
/SUBSYSTEM:{NATIVE|WINDOWS|CONSOLE|WINDOWSCE}[,#[.##]]
/SWAPRUN:{NET|CD}
/TSAWARE[:NO]
/VERBOSE
/VERSION:#[.##]
/WS:AGGRESSIVE
|