Jump to content

Icc.exe: Difference between revisions

From EDM2
Ak120 (talk | contribs)
mNo edit summary
Line 2: Line 2:


==Versions==
==Versions==
{| class="wikitable"
{|class="wikitable"
! Date !!Version !! Size !! Comments
!Date||Version||Size||Comments
|-
|-
|2000-11-24 12:44a || 3.6 FP2 ||57,078 bytes ||Version 3.6 with Fixpack 2.
|2000-11-24||3.6 FP2||57,078 bytes||Version 3.6 with Fixpack 2.
|-
|1998-11-07 7:37a || 3.6  || 55,348 bytes || Included on IBM C and C++ Compilers 3.6
|-
|-
|1998-11-07||3.6||55,348 bytes||Included on IBM C and C++ Compilers 3.6
|}
|}


==Usage==
==Usage==
===File Management Options===
;File Management Options
; /Fa[+|-]        
* /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).
; /Fa<dir><name>  
* /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.
; /Fc[+|-]        
* /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).
; /Fe<name>        
* /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).
; /Fi[+|-]        
* /Fm[+|-] : Produce a linker map file.  Default: /Fm-
: Generate precompiled header files.  Default: /Fi-
* /Fm<name> : Specify the name of the linker map file.
; /Fi<dir><name>  
* /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.
; /Fl[+|-]        
* /Fo[+|-] : Generate the object file.  Default /Fo+
: Generate basic listing file.  Default: /Fl-
* /Fo<dir><name> : Specify the name/path of the object file.
; /Fl<dir><name>  
* /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)
; /Fm[+|-]        
* /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-
; /Fm<name>        
* /Xi[+|-] : Do not use the INCLUDE environment variable when searching for include files. Default: /Xi-
: 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[+|-]
;Listing Output Options
: Generate line-number-only debug information. Default: /Tn-
* /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
; /W<0|1|2|3>      
* /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-
: /W1: Output error, severe, and unrecoverable error messages generated by the compiler.
* /Tn[+|-] : Generate line-number-only debug information. Default: /Tn-
: /W2: Output warning, error, severe and unrecoverable error messages generated by the compiler.
* /Tx[+|-] : Generate full exception register dump.  Default: /Tx-
: /W3: Output all messages generated by the compiler. Default: /W3
* /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.
; /Wall[+|-]
** /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[+|-]  
* /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.
; /Wcmp[+|-]
* /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.
; /Wcnd[+|-]
* /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.
; /Wcns[+|-]      
* /Wext[+|-] : Warn about unused external definitions.
: Warn about operations involving constants.
* /Wgen[+|-] : Generate general checkout messages.
; /Wcnv[+|-]      
* /Wgnr[+|-] : Inform if compiler generates a temporary variable.
: Generate messages about conversions.
* /Wgot[+|-] : Warn about usage of goto statements.
; /Wcpy[+|-]      
* /Wini[+|-] : Check for possible initialization problems.
: Inform if copy constructor cannot be generated.
* /Winl[+|-] : Inform about inlined functions (C++ mode only).
; /Wdcl[+|-]      
* /Wlan[+|-] : Display information about the effects of language level.
: Check for declaration consistency.
* /Wobs[+|-] : Warn about obsolete features.
; /Weff[+|-]      
* /Word[+|-] : Warn about possibly ambiguous order of evaluation.
: Warn about statements with no effect.
* /Wpar[+|-] : Warn about unused parameters.
; /Wenu[+|-]      
* /Wpor[+|-] : Warn about non-portable language constructs.
: Check for problems with enum consistency.
* /Wppc[+|-] : Warn about possible problems using the preprocessor.
; /Wext[+|-]      
* /Wppt[+|-] : Display a trace of preprocessor actions.
: Warn about unused external definitions.
* /Wpro[+|-] : Warn about missing function prototypes.
; /Wgen[+|-]      
* /Wrea[+|-] : Warn about unreachable statements.
: Generate general checkout messages.
* /Wret[+|-] : Check for return statement consistency.
; /Wgnr[+|-]      
* /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.
; /Wgot[+|-]      
* /Wund[+|-] : Warn about casting of pointers to/from an undefined class.
: Warn about usage of goto statements.
* /Wuni[+|-] : Warn about uninitialized variables.
; /Wini[+|-]      
* /Wuse[+|-] : Check for unused auto/static variables.
: Check for possible initialization problems.
* /Wvft[+|-] : Generate messages about virtual function table generation.
; /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===
===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.
::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