Icc.exe: Difference between revisions
Appearance
mNo edit summary |
|||
Line 2: | Line 2: | ||
==Versions== | ==Versions== | ||
{| class="wikitable" | {|class="wikitable" | ||
! Date | !Date||Version||Size||Comments | ||
|- | |- | ||
|2000-11-24 | |2000-11-24||3.6 FP2||57,078 bytes||Version 3.6 with Fixpack 2. | ||
|- | |- | ||
|1998-11-07||3.6||55,348 bytes||Included on IBM C and C++ Compilers 3.6 | |||
|} | |} | ||
==Usage== | ==Usage== | ||
;File Management Options | |||
* /Fa[+|-] : Produce an assembler file. Default: /Fa- | |||
: Produce an assembler file. Default: /Fa- | * /Fa<dir><name> : Specify the name/path of the assembler file(s). | ||
* /Fc[+|-] : Perform syntax and semantic check only. Default: /Fc- | |||
: Specify the name/path of the assembler file(s). | * /Fe<name> : Specify the name of the executable file. | ||
* /Fi[+|-] : Generate precompiled header files. Default: /Fi- | |||
: Perform syntax and semantic check only. Default: /Fc- | * /Fi<dir><name> : Specify the name/path of the precompiled header file(s). | ||
* /Fl[+|-] : Generate basic listing file. Default: /Fl- | |||
: Specify the name of the executable file. | * /Fl<dir><name> : Specify the name/path of the listing file(s). | ||
* /Fm[+|-] : Produce a linker map file. Default: /Fm- | |||
: Generate precompiled header files. Default: /Fi- | * /Fm<name> : Specify the name of the linker map file. | ||
* /Fn[+|-] : Produce an assembler listing that includes machine code. Default: /Fn- | |||
: Specify the name/path of the precompiled header file(s). | * /Fn<dir><name> : Specify the name/path of the assembler listing that includes machine code. Default: source file name with extension of .COD. | ||
* /Fo[+|-] : Generate the object file. Default /Fo+ | |||
: Generate basic listing file. Default: /Fl- | * /Fo<dir><name> : Specify the name/path of the object file. | ||
* /Ft[+|-] : Generate template file. Default: /Ft+ (C++ mode only) | |||
: Specify the name/path of the listing file(s). | * /Ft<dir> : Specify the directory in which to place template files. (C++ mode only) | ||
* /I<path>[;<path>] : Specify where to search for include files. | |||
: Produce a linker map file. Default: /Fm- | * /Xc[+|-] : Ignore all previous paths specified by the /I option. Default: /Xc- | ||
* /Xi[+|-] : Do not use the INCLUDE environment variable when searching for include files. Default: /Xi- | |||
: Specify the name of the linker map file. | |||
: Produce an assembler listing that includes machine code. Default: /Fn- | |||
: Specify the name/path of the assembler listing that includes machine code. Default: source file name with extension of .COD. | |||
: Generate the object file. Default /Fo+ | |||
: Specify the name/path of the object file. | |||
: Generate template file. Default: /Ft+ (C++ mode only) | |||
: Specify the directory in which to place template files. (C++ mode only) | |||
: Specify where to search for include files. | |||
: Ignore all previous paths specified by the /I option. Default: /Xc- | |||
: Do not use the INCLUDE environment variable when searching for include files. | |||
; / | ;Listing Output Options | ||
: | * /L[+|-] : Generate basic listing file. Default: /L- | ||
* /La[+|-] : Include a layout of all referenced struct or union variables in the listing file. Default: /La- | |||
* /Lb[+|-] : Include a layout of all struct or union variables in the listing file. Default: /Lb- | |||
* /Le[+|-] : Show all expanded macros in the listing file. Default: /Le- | |||
* /Lf[+|-] : Full listing; turn on all listing options. Default: /Lf- | |||
* /Li[+|-] : Expand only user #include files in the listing file. Default: /Li- | |||
* /Lj[+|-] : Expand both user and system #include files in the listing file. Default: /Lj- | |||
* /Lp<lines> : Set page length on listing. Default: /Lp66 | |||
* /Ls[+|-] : Include source statements in the listing file. Default: /Ls- | |||
* /Lt"string" :Set title string on listing. | |||
* /Lu"string" :Set subtitle string on listing. | |||
* /Lx[+|-] :Produce a cross-reference table of referenced variables in the listing file. Default: /Lx- | |||
* /Ly[+|-] :Produce a cross-reference table of all variables in the listing file. Default: /Ly- | |||
; /Tx[+|-] | ;Debugging Options | ||
: Generate full exception register dump. Default: /Tx- | */N<n> :Set maximum number of errors before aborting compilation. Default: Abort only on unrecoverable error. | ||
*/q[no]dbgunref : Generate symbol table information for unreferenced variables. By default such information is not generated thus reducing the size of the executable compiled with the /Ti option. Default: /qnodbgunref | |||
* /Ti[+|-] : Generate debugging information. Default: /Ti- | |||
: /W0: Output only severe and unrecoverable error messages generated by the compiler. | * /Tm[+|-] : Enable debug memory management support. Default: /Tm- | ||
* /Tn[+|-] : Generate line-number-only debug information. Default: /Tn- | |||
* /Tx[+|-] : Generate full exception register dump. Default: /Tx- | |||
* /W<0|1|2|3> : /W0: Output only severe and unrecoverable error messages generated by the compiler. | |||
** /W1: Output error, severe, and unrecoverable error messages generated by the compiler. | |||
** /W2: Output warning, error, severe and unrecoverable error messages generated by the compiler. | |||
: Generate all checkout messages. Default: /Wall-pro+ret+cnd | ** /W3: Output all messages generated by the compiler. Default: /W3 | ||
* /Wall[+|-] : Generate all checkout messages. Default: /Wall-pro+ret+cnd | |||
* /Wcls[+|-] : Display information about class use. | |||
: Display information about class use. | * /Wcmp[+|-] : Warn about possible redundancies in unsigned comparisons. | ||
* /Wcnd[+|-] : Warn about possible redundancies or problems in conditional expressions. | |||
* /Wcns[+|-] : Warn about operations involving constants. | |||
: Warn about possible redundancies in unsigned comparisons. | * /Wcnv[+|-] : Generate messages about conversions. | ||
* /Wcpy[+|-] : Inform if copy constructor cannot be generated. | |||
* /Wdcl[+|-] : Check for declaration consistency. | |||
: Warn about possible redundancies or problems in conditional expressions. | * /Weff[+|-] : Warn about statements with no effect. | ||
* /Wenu[+|-] : Check for problems with enum consistency. | |||
* /Wext[+|-] : Warn about unused external definitions. | |||
: Warn about operations involving constants. | * /Wgen[+|-] : Generate general checkout messages. | ||
* /Wgnr[+|-] : Inform if compiler generates a temporary variable. | |||
: Generate messages about conversions. | * /Wgot[+|-] : Warn about usage of goto statements. | ||
* /Wini[+|-] : Check for possible initialization problems. | |||
: Inform if copy constructor cannot be generated. | * /Winl[+|-] : Inform about inlined functions (C++ mode only). | ||
* /Wlan[+|-] : Display information about the effects of language level. | |||
: Check for declaration consistency. | * /Wobs[+|-] : Warn about obsolete features. | ||
* /Word[+|-] : Warn about possibly ambiguous order of evaluation. | |||
: Warn about statements with no effect. | * /Wpar[+|-] : Warn about unused parameters. | ||
* /Wpor[+|-] : Warn about non-portable language constructs. | |||
: Check for problems with enum consistency. | * /Wppc[+|-] : Warn about possible problems using the preprocessor. | ||
* /Wppt[+|-] : Display a trace of preprocessor actions. | |||
: Warn about unused external definitions. | * /Wpro[+|-] : Warn about missing function prototypes. | ||
* /Wrea[+|-] : Warn about unreachable statements. | |||
: Generate general checkout messages. | * /Wret[+|-] : Check for return statement consistency. | ||
* /Wtrd[+|-] : Warn about possible truncation or loss of data. | |||
: Inform if compiler generates a temporary variable. | * /Wtru[+|-] : Warn about variable names trunctated by the compiler. | ||
* /Wund[+|-] : Warn about casting of pointers to/from an undefined class. | |||
: Warn about usage of goto statements. | * /Wuni[+|-] : Warn about uninitialized variables. | ||
* /Wuse[+|-] : Check for unused auto/static variables. | |||
: Check for possible initialization problems. | * /Wvft[+|-] : Generate messages about virtual function table generation. | ||
: Inform about inlined functions (C++ mode only). | |||
: Display information about the effects of language level. | |||
: Warn about obsolete features. | |||
: Warn about possibly ambiguous order of evaluation. | |||
: Warn about unused parameters. | |||
: Warn about non-portable language constructs. | |||
: Warn about possible problems using the preprocessor. | |||
: Display a trace of preprocessor actions. | |||
: Warn about missing function prototypes. | |||
: Warn about unreachable statements. | |||
: Check for return statement consistency. | |||
: Warn about possible truncation or loss of data. | |||
: Warn about variable names trunctated by the compiler. | |||
: Warn about casting of pointers to/from an undefined class. | |||
: Warn about uninitialized variables. | |||
: Check for unused auto/static variables. | |||
: Generate messages about virtual function table generation. | |||
===Source Code Options=== | ===Source Code Options=== | ||
; /J[+|-] | ; /J[+|-] : /J+: Make default char type unsigned. Default: /J+ | ||
: /J+: Make default char type unsigned. Default: /J+ | |||
: /J-: Make default char type signed. | : /J-: Make default char type signed. | ||
Line 205: | Line 108: | ||
: Allow long long integers. Default: /qlonglong | : Allow long long integers. Default: /qlonglong | ||
; /S<a|c|e|2> | ; /S<a|c|e|2> : Select language level to be accepted by the compiler. Default /Se | ||
: Select language level to be accepted by the compiler. Default /Se | |||
::/Sa: Allow language constructs that conform to ANSI/ISO standards. | ::/Sa: Allow language constructs that conform to ANSI/ISO standards. | ||
::/Sc: Allow language constructs that are compatible with older versions of the C++ language. (C++ mode only) | ::/Sc: Allow language constructs that are compatible with older versions of the C++ language. (C++ mode only) | ||
Line 223: | Line 125: | ||
: Allow use of ddnames on calls to fopen(). Default: /Sh- | : Allow use of ddnames on calls to fopen(). Default: /Sh- | ||
; /Si[+|-] | ; /Si[+|-] : Use precompiled header files when available. Default: /Si- | ||
: Use precompiled header files when available. Default: /Si- | ; /Si<name> : Specify the name/path of the precompiled header file(s). | ||
; /Sm[+|-] : Ignore migration keywords. Default: /Sm- | |||
; /Si<name> | ; /Sn[+|-] : Allow DBCS characters in source file. Default: /Sn- | ||
: Specify the name/path of the precompiled header file(s). | |||
; /Sm[+|-] | |||
: Ignore migration keywords. Default: /Sm- | |||
; /Sn[+|-] | |||
: Allow DBCS characters in source file. Default: /Sn- | |||
; /Sp<[1]|2|4|8|16> | ; /Sp<[1]|2|4|8|16> | ||
Line 242: | Line 137: | ||
: Specify the portion of the input record that contains sequence numbers. Default: /Sq- (no sequence number) (C mode only) | : Specify the portion of the input record that contains sequence numbers. Default: /Sq- (no sequence number) (C mode only) | ||
; /Sr[+|-] | ; /Sr[+|-] : /Sr+: Use old-style rules for type conversions to preserve the sign. | ||
: /Sr+: Use old-style rules for type conversions to preserve the sign. | |||
: /Sr-: Use new-style rules for type conversions to preserve accuracy. Default: /Sr- (C mode only) | : /Sr-: Use new-style rules for type conversions to preserve accuracy. Default: /Sr- (C mode only) | ||
; /Ss[+|-] : Allow the double slash (//) format to be used for comments. Default: /Ss- (C mode only) | |||
; /Ss[+|-] | |||
: Allow the double slash (//) format to be used for comments. Default: /Ss- (C mode only) | |||
; /Su[+|-|1|2|4] | ; /Su[+|-|1|2|4] | ||
Line 272: | Line 164: | ||
===Preprocessor Options=== | ===Preprocessor Options=== | ||
; /D<name> | ; /D<name> :Define preprocessor macros to the value '1'. | ||
:Define preprocessor macros to the value '1'. | |||
; /D<name>=[<def>] | ; /D<name>=[<def>] | ||
Line 281: | Line 172: | ||
: Define preprocessor macros to the value given. | : Define preprocessor macros to the value given. | ||
; /P[+|-] | ; /P[+|-] | ||
: /P+: Run only the preprocessor against the source file. | : /P+: Run only the preprocessor against the source file. | ||
: /P-: Run the entire compiler against the source file. Default: /P- | : /P-: Run the entire compiler against the source file. Default: /P- | ||
; /Pc[+|-] | ; /Pc[+|-] | ||
: /Pc+: Run only the preprocessor against the source file and preserve comments during preprocessing. | : /Pc+: Run only the preprocessor against the source file and preserve comments during preprocessing. | ||
: /Pc-: Run only the preprocessor against the source file and do not preserve comments during preprocessing. Default: /Pc- | : /Pc-: Run only the preprocessor against the source file and do not preserve comments during preprocessing. Default: /Pc- | ||
; /Pd[+|-] | ; /Pd[+|-] | ||
: /Pd+: Send the preprocessor output to stdout. | : /Pd+: Send the preprocessor output to stdout. | ||
: /Pd-: Send the preprocessor output to a file. Default: /Pd- | : /Pd-: Send the preprocessor output to a file. Default: /Pd- | ||
; /Pe[+|-] | ; /Pe[+|-] | ||
: /Pe+: Suppress #line directives from the preprocessor output. | : /Pe+: Suppress #line directives from the preprocessor output. | ||
: /Pe-: Produce #line directives in the preprocessor output. Default: /Pe- | : /Pe-: Produce #line directives in the preprocessor output. Default: /Pe- | ||
Line 305: | Line 196: | ||
===Code Generation Options=== | ===Code Generation Options=== | ||
; /G<3|4|5> | ; /G<3|4|5> | ||
: /G3: Generate code optimized for use on an 80386 processor. | : /G3: Generate code optimized for use on an 80386 processor. | ||
: /G4: Generate code optimized for use on an 80486 processor. | : /G4: Generate code optimized for use on an 80486 processor. | ||
Line 311: | Line 202: | ||
: These options can be also specified using /qtune=386, /qtune=486 and /qtune=pentium. See /qtune option for other suboptions and default. | : These options can be also specified using /qtune=386, /qtune=486 and /qtune=pentium. See /qtune option for other suboptions and default. | ||
; /Gd[+|-] | ; /Gd[+|-] | ||
: /Gd+: Use the version of the runtime library that is dynamically linked. | : /Gd+: Use the version of the runtime library that is dynamically linked. | ||
: /Gd-: Use the version of the runtime library that is statically linked. Default: /Gd- | : /Gd-: Use the version of the runtime library that is statically linked. Default: /Gd- | ||
; /Ge[+|-] | ; /Ge[+|-] | ||
: /Ge+: Use the version of the runtime library that assumes an EXE is being built. | : /Ge+: Use the version of the runtime library that assumes an EXE is being built. | ||
: /Ge-: Use the version of the runtime library that assumes a DLL is being built. Default: /Ge+ | : /Ge-: Use the version of the runtime library that assumes a DLL is being built. Default: /Ge+ | ||
Line 338: | Line 229: | ||
: /Gn-: Generate default libraries in object. Default: /Gn- | : /Gn-: Generate default libraries in object. Default: /Gn- | ||
; /Gp[+|-] | ; /Gp[+|-] | ||
: /Gp+: Generate code that allows the __parmdwords() function to work. | : /Gp+: Generate code that allows the __parmdwords() function to work. | ||
: /Gp-: Do not support use of the __parmdwords() function. | : /Gp-: Do not support use of the __parmdwords() function. | ||
Line 364: | Line 255: | ||
: Default: /Gy- (C mode only) | : Default: /Gy- (C mode only) | ||
; /M<p|s|c|t> | ; /M<p|s|c|t>: /Mp: Set the default calling convention to _Optlink. Default: /Mp | ||
: /Mp: Set the default calling convention to _Optlink. Default: /Mp | |||
: /Ms: Set the default calling convention to _System. | : /Ms: Set the default calling convention to _System. | ||
: /Mc: Set the default calling convention to __cdecl. | : /Mc: Set the default calling convention to __cdecl. | ||
Line 399: | Line 289: | ||
; /Om[+|-]: Limit amount of memory used by the optimizer and code generator. Default: /Om- | ; /Om[+|-]: Limit amount of memory used by the optimizer and code generator. Default: /Om- | ||
; /Op[+|-] | ; /Op[+|-] | ||
: /Op-: Disable all stack pointer optimizations and forces the stack to be chained. | : /Op-: Disable all stack pointer optimizations and forces the stack to be chained. | ||
:/Op+: Enables all stack pointer optimizations and allow stack to be unchained. | :/Op+: Enables all stack pointer optimizations and allow stack to be unchained. | ||
: Default: /Op+ /Oq+ if /O- | : Default: /Op+ /Oq+ if /O- | ||
/Op+ /Oq- if /O+ | /Op+ /Oq- if /O+ | ||
::486 processor. | |||
:: pentium Produce object code optimized for the Pentium processor. | :: pentium Produce object code optimized for the Pentium processor. | ||
:: pentium2 Produce object code optimized for the Pentium2 processor. | :: pentium2 Produce object code optimized for the Pentium2 processor. | ||
Line 439: | Line 329: | ||
: /Q+: Suppress the logo. | : /Q+: Suppress the logo. | ||
: /Q-: Display the logo. Default: /Q- | : /Q-: Display the logo. Default: /Q- | ||
; /Tl[+] : Enable preloading of the compiler. | |||
; /Tl[+] | ; /Tl-: Disable preloading of the compiler and unload it if it is already loaded. | ||
: Enable preloading of the compiler. | ; /Tl<n>: Keep compiler preloaded for 'n' minutes. Default: /Tl10 | ||
; /V"string" : Imbed text string for version into the object file. | |||
; /Tl- | |||
: Disable preloading of the compiler and unload it if it is already loaded. | |||
; /Tl<n> | |||
: Keep compiler preloaded for 'n' minutes. Default: /Tl10 | |||
; /V"string" | |||
: Imbed text string for version into the object file. | |||
; /qignprag=<disjoint|isolated|all> | ; /qignprag=<disjoint|isolated|all> | ||
: Ignore the aliasing pragmas disjoint and/or isolated_call. | : Ignore the aliasing pragmas disjoint and/or isolated_call. | ||
Line 473: | Line 354: | ||
:;dynamiccast | :;dynamiccast | ||
:: Generate information for the dynamic_cast operators. | :: Generate information for the dynamic_cast operators. | ||
; /qnortti : Do not generate run-time type information. | |||
; /qnortti | |||
: Do not generate run-time type information. | |||
:Default: /qnortti | :Default: /qnortti | ||
:(C++ mode only) | :(C++ mode only) |
Revision as of 04:57, 18 April 2020
This is the IBM C compiler executable file.
Versions
Date | Version | Size | Comments |
---|---|---|---|
2000-11-24 | 3.6 FP2 | 57,078 bytes | Version 3.6 with Fixpack 2. |
1998-11-07 | 3.6 | 55,348 bytes | Included on IBM C and C++ Compilers 3.6 |
Usage
- File Management Options
- /Fa[+|-] : Produce an assembler file. Default: /Fa-
- /Fa<dir><name> : Specify the name/path of the assembler file(s).
- /Fc[+|-] : Perform syntax and semantic check only. Default: /Fc-
- /Fe<name> : Specify the name of the executable file.
- /Fi[+|-] : Generate precompiled header files. Default: /Fi-
- /Fi<dir><name> : Specify the name/path of the precompiled header file(s).
- /Fl[+|-] : Generate basic listing file. Default: /Fl-
- /Fl<dir><name> : Specify the name/path of the listing file(s).
- /Fm[+|-] : Produce a linker map file. Default: /Fm-
- /Fm<name> : Specify the name of the linker map file.
- /Fn[+|-] : Produce an assembler listing that includes machine code. Default: /Fn-
- /Fn<dir><name> : Specify the name/path of the assembler listing that includes machine code. Default: source file name with extension of .COD.
- /Fo[+|-] : Generate the object file. Default /Fo+
- /Fo<dir><name> : Specify the name/path of the object file.
- /Ft[+|-] : Generate template file. Default: /Ft+ (C++ mode only)
- /Ft<dir> : Specify the directory in which to place template files. (C++ mode only)
- /I<path>[;<path>] : Specify where to search for include files.
- /Xc[+|-] : Ignore all previous paths specified by the /I option. Default: /Xc-
- /Xi[+|-] : Do not use the INCLUDE environment variable when searching for include files. Default: /Xi-
- Listing Output Options
- /L[+|-] : Generate basic listing file. Default: /L-
- /La[+|-] : Include a layout of all referenced struct or union variables in the listing file. Default: /La-
- /Lb[+|-] : Include a layout of all struct or union variables in the listing file. Default: /Lb-
- /Le[+|-] : Show all expanded macros in the listing file. Default: /Le-
- /Lf[+|-] : Full listing; turn on all listing options. Default: /Lf-
- /Li[+|-] : Expand only user #include files in the listing file. Default: /Li-
- /Lj[+|-] : Expand both user and system #include files in the listing file. Default: /Lj-
- /Lp<lines> : Set page length on listing. Default: /Lp66
- /Ls[+|-] : Include source statements in the listing file. Default: /Ls-
- /Lt"string" :Set title string on listing.
- /Lu"string" :Set subtitle string on listing.
- /Lx[+|-] :Produce a cross-reference table of referenced variables in the listing file. Default: /Lx-
- /Ly[+|-] :Produce a cross-reference table of all variables in the listing file. Default: /Ly-
- Debugging Options
- /N<n> :Set maximum number of errors before aborting compilation. Default: Abort only on unrecoverable error.
- /q[no]dbgunref : Generate symbol table information for unreferenced variables. By default such information is not generated thus reducing the size of the executable compiled with the /Ti option. Default: /qnodbgunref
- /Ti[+|-] : Generate debugging information. Default: /Ti-
- /Tm[+|-] : Enable debug memory management support. Default: /Tm-
- /Tn[+|-] : Generate line-number-only debug information. Default: /Tn-
- /Tx[+|-] : Generate full exception register dump. Default: /Tx-
- /W<0|1|2|3> : /W0: Output only severe and unrecoverable error messages generated by the compiler.
- /W1: Output error, severe, and unrecoverable error messages generated by the compiler.
- /W2: Output warning, error, severe and unrecoverable error messages generated by the compiler.
- /W3: Output all messages generated by the compiler. Default: /W3
- /Wall[+|-] : Generate all checkout messages. Default: /Wall-pro+ret+cnd
- /Wcls[+|-] : Display information about class use.
- /Wcmp[+|-] : Warn about possible redundancies in unsigned comparisons.
- /Wcnd[+|-] : Warn about possible redundancies or problems in conditional expressions.
- /Wcns[+|-] : Warn about operations involving constants.
- /Wcnv[+|-] : Generate messages about conversions.
- /Wcpy[+|-] : Inform if copy constructor cannot be generated.
- /Wdcl[+|-] : Check for declaration consistency.
- /Weff[+|-] : Warn about statements with no effect.
- /Wenu[+|-] : Check for problems with enum consistency.
- /Wext[+|-] : Warn about unused external definitions.
- /Wgen[+|-] : Generate general checkout messages.
- /Wgnr[+|-] : Inform if compiler generates a temporary variable.
- /Wgot[+|-] : Warn about usage of goto statements.
- /Wini[+|-] : Check for possible initialization problems.
- /Winl[+|-] : Inform about inlined functions (C++ mode only).
- /Wlan[+|-] : Display information about the effects of language level.
- /Wobs[+|-] : Warn about obsolete features.
- /Word[+|-] : Warn about possibly ambiguous order of evaluation.
- /Wpar[+|-] : Warn about unused parameters.
- /Wpor[+|-] : Warn about non-portable language constructs.
- /Wppc[+|-] : Warn about possible problems using the preprocessor.
- /Wppt[+|-] : Display a trace of preprocessor actions.
- /Wpro[+|-] : Warn about missing function prototypes.
- /Wrea[+|-] : Warn about unreachable statements.
- /Wret[+|-] : Check for return statement consistency.
- /Wtrd[+|-] : Warn about possible truncation or loss of data.
- /Wtru[+|-] : Warn about variable names trunctated by the compiler.
- /Wund[+|-] : Warn about casting of pointers to/from an undefined class.
- /Wuni[+|-] : Warn about uninitialized variables.
- /Wuse[+|-] : Check for unused auto/static variables.
- /Wvft[+|-] : Generate messages about virtual function table generation.
Source Code Options
- /J[+|-]
- /J+: Make default char type unsigned. Default: /J+
- /J-: Make default char type signed.
- /qbitfields=<signed|unsigned>
- Specifies sign of bitfields.
- Default: /qbitfields=unsigned.
- /q[no]digraph
- Allow special digraph and keyword operators. Default: /qnodigraph.
- /q[no]exppragma
- Allow macros to be expanded inside of pragma directives. Default: /qexppramga.
- /q[no]longlong
- Allow long long integers. Default: /qlonglong
- /S<a|c|e|2>
- Select language level to be accepted by the compiler. Default /Se
- /Sa: Allow language constructs that conform to ANSI/ISO standards.
- /Sc: Allow language constructs that are compatible with older versions of the C++ language. (C++ mode only)
- /Se: Allow all IBM C and C++ language extensions.
- /S2: Allow language constructs that conform to SAA Level 2 standards. (C mode only)
- /Sd[+|-]
- /Sd+: Set the default file extension to .c.
- /Sd-: Set the default file extension to .obj.
- Default: /Sd-
- /Sg<[m][,n]|->
- Set margins for source files; only text between columns m and n will be processed. Default: /Sg- (C only)
- /Sh[+|-]
- Allow use of ddnames on calls to fopen(). Default: /Sh-
- /Si[+|-]
- Use precompiled header files when available. Default: /Si-
- /Si<name>
- Specify the name/path of the precompiled header file(s).
- /Sm[+|-]
- Ignore migration keywords. Default: /Sm-
- /Sn[+|-]
- Allow DBCS characters in source file. Default: /Sn-
- /Sp<[1]|2|4|8|16>
- Pack aggregate members on specified alignment.
- Default: /Sp4
- /Sq<[m][,n]|->
- Specify the portion of the input record that contains sequence numbers. Default: /Sq- (no sequence number) (C mode only)
- /Sr[+|-]
- /Sr+: Use old-style rules for type conversions to preserve the sign.
- /Sr-: Use new-style rules for type conversions to preserve accuracy. Default: /Sr- (C mode only)
- /Ss[+|-]
- Allow the double slash (//) format to be used for comments. Default: /Ss- (C mode only)
- /Su[+|-|1|2|4]
- Pack enum variables into specified integral size.
- Default: /Su-
- /Sv[+|-]
- Enable support for using memory files. Default: /Sv-
- /Tc<name>
- Compile the file <name> as a C file.
- /Td
- Compile any file with extension .cpp or .cxx as C++ file, and any other unrecognized file as C file. Default: /Td
- /Tdc
- Compile all following source files as C files.
- /Tdp
- Compile all following source files as C++ files and invoke link step to resolve all template functions.
- /Tp<name>
- Compile the file <name> as a C++ file.
Preprocessor Options
- /D<name>
- Define preprocessor macros to the value '1'.
- /D<name>=[<def>]
- Define preprocessor macros to the value given.
- /D<name>
- :[<def>]
- Define preprocessor macros to the value given.
- /P[+|-]
- /P+: Run only the preprocessor against the source file.
- /P-: Run the entire compiler against the source file. Default: /P-
- /Pc[+|-]
- /Pc+: Run only the preprocessor against the source file and preserve comments during preprocessing.
- /Pc-: Run only the preprocessor against the source file and do not preserve comments during preprocessing. Default: /Pc-
- /Pd[+|-]
- /Pd+: Send the preprocessor output to stdout.
- /Pd-: Send the preprocessor output to a file. Default: /Pd-
- /Pe[+|-]
- /Pe+: Suppress #line directives from the preprocessor output.
- /Pe-: Produce #line directives in the preprocessor output. Default: /Pe-
- /U<name>
- Undefine user macro.
- /U*
- Undefine all user-defined macros.
Code Generation Options
- /G<3|4|5>
- /G3: Generate code optimized for use on an 80386 processor.
- /G4: Generate code optimized for use on an 80486 processor.
- /G5: Generate code optimized for use on a Pentium processor.
- These options can be also specified using /qtune=386, /qtune=486 and /qtune=pentium. See /qtune option for other suboptions and default.
- /Gd[+|-]
- /Gd+: Use the version of the runtime library that is dynamically linked.
- /Gd-: Use the version of the runtime library that is statically linked. Default: /Gd-
- /Ge[+|-]
- /Ge+: Use the version of the runtime library that assumes an EXE is being built.
- /Ge-: Use the version of the runtime library that assumes a DLL is being built. Default: /Ge+
- /Gf[+|-]
- Generate fast floating-point code. Default: /Gf+
- /Gi[+|-]
- Generate fast integer code. Default: /Gi+
- /Gk[+|-]
- Link with version 2 C++ libraries. Default: /Gk-
- /Gl[+|-]
- Enable smart linking. Default: /Gl-
- /Gm[+|-]
- Link with multithread runtime libraries. Default: /Gm-
- /Gn[+|-]
- /Gn+: Do not generate default libraries in object.
- /Gn-: Generate default libraries in object. Default: /Gn-
- /Gp[+|-]
- /Gp+: Generate code that allows the __parmdwords() function to work.
- /Gp-: Do not support use of the __parmdwords() function.
- Default: /Gp-
- /Gr[+|-]
- Allow object code to run at ring 0. Default: /Gr-
- /Gs[+|-]
- /Gs+: Suppress stack probes in function prologs.
- Default: /Gs-
- /Gt[+|-]
- Store variables so that they do not cross 64K boundaries. Default: /Gt-
- /Gv[+|-]
- Reload DS and ES from DGROUP in the prologs of external functions. Default: /Gv- (C mode only)
- /Gx[+|-]
- Disable the generation of C++ exception handling code.
- Default: /Gx- (C++ mode only)
- /Gy[+|-]
- Decorate external data names with underscore.
- Default: /Gy- (C mode only)
- /M<p|s|c|t>
- /Mp: Set the default calling convention to _Optlink. Default: /Mp
- /Ms: Set the default calling convention to _System.
- /Mc: Set the default calling convention to __cdecl.
- /Mt: Set the default linkage to __stdcall.
- /ND<seg_name>
- Specify the name for the default data, uninitialized data, and constant segments. Default: use DATA32, BSS32 and CONST32_RO.
- /NT<seg_name>
- Specify the name for the default text segment. Default: CODE32.
- /NX<seg_name>
- Specify segment name for exception handling code and data. (C++ mode only). Default: use EH_CODE and EH_DATA.
- /O[+|-]
- Optimize generated code. Default: /O-
- /O2
- Equivalent to /O+.
- /O3
- Equivalent to /O+.
- /Oc[+|-]
- Optimize for code size rather than speed. Default: /Oc-.
- /Oi[+|-]
- Turn on function inlining. Default: /Oi- if /O-, /Oi+ if /O+
- /Oi<value>
- Set the threshold for auto-inlining to <value> intermediate code instructions. Default: /Oi0
- /Om[+|-]
- Limit amount of memory used by the optimizer and code generator. Default: /Om-
- /Op[+|-]
- /Op-: Disable all stack pointer optimizations and forces the stack to be chained.
- /Op+: Enables all stack pointer optimizations and allow stack to be unchained.
- Default: /Op+ /Oq+ if /O-
/Op+ /Oq- if /O+
- 486 processor.
- pentium Produce object code optimized for the Pentium processor.
- pentium2 Produce object code optimized for the Pentium2 processor.
- blend Produce object code optimized for all the X86 processors.
- Default is /qtune=blend.
- /qarch=<option>
- Specifies the architecture on which the executable program will be run.
- The available options are:
- x86 runs on any 32-bit x86 architecture
- 486 runs on any architecture supporting 486 instruction set.
- pentium runs on any architecture supporting Pentium instruction set.
- pentium2 runs on any architecture supporting Pentium instruction set.
- Default: /qarch=486
- /R<e|n>
- /Re: Produce code to run with a complete runtime environment. Default: /Re
- /Rn: Produce code to run with no runtime environment.
- Allow system programming and subsystem development.
Other Options
- /?
- Display online help (this information).
- /B"options"
- Pass options to the linker. Default: /B""
- /C[+|-]
- /C+: Perform compile only, no link.
- /C-: Perform compile and link. Default: /C-
- /H<n>
- Set the maximum length of external names. Default: /H255
- /Q[+|-]
- /Q+: Suppress the logo.
- /Q-: Display the logo. Default: /Q-
- /Tl[+]
- Enable preloading of the compiler.
- /Tl-
- Disable preloading of the compiler and unload it if it is already loaded.
- /Tl<n>
- Keep compiler preloaded for 'n' minutes. Default: /Tl10
- /V"string"
- Imbed text string for version into the object file.
- /qignprag=<disjoint|isolated|all>
- Ignore the aliasing pragmas disjoint and/or isolated_call.
- /q[no]libansi
- Tell the compiler that all functions with the name of an ANSI C library are in fact the system functions.
- Default: /qnolibansi
- /qmakedep
- Generate information to be included in a "make" description file; output goes to .u file.
- /q[no]ro
- Put string literals in read only area. Default is /qro.
- /qrtti=<option>
- Generate run-time type information. The available options are:
- all
- Generate information for the typeid and dynamic_cast operators.
- typeinfo
- Generate information for the typeid operator.
- dynamiccast
- Generate information for the dynamic_cast operators.
- /qnortti
- Do not generate run-time type information.
- Default: /qnortti
- (C++ mode only)
DLLs Loaded
- NLS.DLL
- DOSCALL1.DLL
- CPPCPI36.DLL
- CPPRMI36.DLL