Jump to content

Icc.exe: Difference between revisions

From EDM2
Ak120 (talk | contribs)
 
(8 intermediate revisions by 2 users not shown)
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===
;Listing Output Options
; /L[+|-]
* /L[+|-] : Generate basic listing file.  Default: /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-


; /La[+|-]
;Debugging Options
: Include a layout of all referenced struct or union variables in the listing file. Default: /La-
*/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.


; /Lb[+|-]
;Source Code Options
: Include a layout of all struct or union variables in the listing file.  Default: /Lb-
* /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.


; /Le[+|-]
;Preprocessor Options
: Show all expanded macros in the listing file. Default: /Le-
* /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.


; /Lf[+|-]
;Code Generation Options
: Full listing; turn on all listing options. Default: /Lf-
* /G<3|4|5>
 
** /G3: Generate code optimized for use on an 80386 processor.
; /Li[+|-]
** /G4: Generate code optimized for use on an 80486 processor.
: Expand only user #include files in the listing file. Default: /Li-
** /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.
; /Lj[+|-]
* /Gd[+|-]
: Expand both user and system #include files in the listing file. Default: /Lj-
** /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-
; /Lp<lines>
* /Ge[+|-]
: Set page length on listing. Default: /Lp66
** /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+
; /Ls[+|-]
* /Gf[+|-] : Generate fast floating-point code. Default: /Gf+
: Include source statements in the listing file. Default: /Ls-
* /Gi[+|-] : Generate fast integer code. Default: /Gi+
 
* /Gk[+|-] : Link with version 2 C++ libraries. Default: /Gk-
; /Lt"string"     
* /Gl[+|-] : Enable smart linking. Default: /Gl-
:Set title string on listing.
* /Gm[+|-] : Link with multithread runtime libraries. Default: /Gm-
 
* /Gn[+|-]
; /Lu"string"     
** /Gn+: Do not generate default libraries in object.
:Set subtitle string on listing.
** /Gn-: Generate default libraries in object.  Default: /Gn-
 
* /Gp[+|-]
; /Lx[+|-]
** /Gp+: Generate code that allows the __parmdwords() function to work.
:Produce a cross-reference table of referenced variables in the listing file. Default: /Lx-
** /Gp-: Do not support use of the __parmdwords() function.
 
** Default: /Gp-
; /Ly[+|-]
* /Gr[+|-] : Allow object code to run at ring 0. Default: /Gr-
:Produce a cross-reference table of all variables in the listing file. Default: /Ly-
* /Gs[+|-]
 
** /Gs+: Suppress stack probes in function prologs.
===Debugging Options===
** Default: /Gs-
;/N<n>           
* /Gt[+|-] : Store variables so that they do not cross 64K boundaries. Default: /Gt-
:Set maximum number of errors before aborting compilation.
* /Gv[+|-] : Reload DS and ES from DGROUP in the prologs of external functions. Default: /Gv- (C mode only)
:Default: Abort only on unrecoverable error.
* /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)
;/q[no]dbgunref   
* /M<p|s|c|t>
: 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
** /Mp: Set the default calling convention to _Optlink. Default: /Mp
 
** /Ms: Set the default calling convention to _System.
; /Ti[+|-]  
** /Mc: Set the default calling convention to __cdecl.
: Generate debugging information. Default: /Ti-
** /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.
; /Tm[+|-]
* /NT<seg_name> : Specify the name for the default text segment. Default: CODE32.
: Enable debug memory management support. Default: /Tm-
* /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-
; /Tn[+|-]
* /O2 : Equivalent to /O+.
: Generate line-number-only debug information. Default: /Tn-
* /O3 : Equivalent to /O+.
 
* /Oc[+|-] : Optimize for code size rather than speed. Default: /Oc-.
; /Tx[+|-]
* /Oi[+|-] : Turn on function inlining. Default: /Oi- if /O-, /Oi+ if /O+
: Generate full exception register dump.  Default: /Tx-
* /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-
; /W<0|1|2|3>     
* /Op[+|-]
: /W0: Output only severe and unrecoverable error messages generated by the compiler.
** /Op-: Disable all stack pointer optimizations and forces the stack to be chained.  
: /W1: Output error, severe, and unrecoverable error messages generated by the compiler.
** /Op+: Enables all stack pointer optimizations and allow stack to be unchained.
: /W2: Output warning, error, severe and unrecoverable error messages generated by the compiler.
** Default: /Op+ /Oq+ if /O-, /Op+ /Oq- if /O+
: /W3: Output all messages generated by the compiler. Default: /W3
:: 486 processor.
 
:: pentium    Produce object code optimized for the Pentium processor.
; /Wall[+|-]
:: pentium2    Produce object code optimized for the Pentium2 processor.
: Generate all checkout messages. Default: /Wall-pro+ret+cnd
:: blend      Produce object code optimized for all the X86 processors.
 
:: Default is  /qtune=blend.
; /Wcls[+|-]  
* /qarch=<option> : Specifies the architecture on which the executable program will be run.
: 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:
: The available options are:
::x86        runs on any 32-bit x86 architecture
::x86        runs on any 32-bit x86 architecture
Line 377: Line 211:
::pentium2  runs on any architecture supporting Pentium instruction set.
::pentium2  runs on any architecture supporting Pentium instruction set.
: Default: /qarch=486
: 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.


; /R<e|n>         
;Other Options
:/Re: Produce code to run with a complete runtime environment.  Default: /Re
* /? : Display online help (this information).
:/Rn: Produce code to run with no runtime environment.
* /B"options" : Pass options to the linker. Default: /B""
:Allow system programming and subsystem development.
* /C[+|-]
 
** /C+: Perform compile only, no link.
===Other Options===
** /C-: Perform compile and link.  Default: /C-
; /? : Display online help (this information).
* /H<n> : Set the maximum length of external names. Default: /H255
 
* /Q[+|-]
; /B"options" : Pass options to the linker. Default: /B""
** /Q+: Suppress the logo.
 
** /Q-: Display the logo.  Default: /Q-
; /C[+|-]          
* /Tl[+] : Enable preloading of the compiler.
: /C+: Perform compile only, no link.
* /Tl-: Disable preloading of the compiler and unload it if it is already loaded.
: /C-: Perform compile and link.  Default: /C-
* /Tl<n>: Keep compiler preloaded for 'n' minutes.  Default: /Tl10
 
* /V"string" : Imbed text string for version into the object file.
; /H<n>  
* /qignprag=<disjoint|isolated|all> : Ignore the aliasing pragmas disjoint and/or isolated_call.
: Set the maximum length of external names. Default: /H255
* /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[+|-]          
* /q[no]ro : Put string literals in read only area. Default is /qro.
: /Q+: Suppress the logo.
* /qrtti=<option> : Generate run-time type information. The available options are:
: /Q-: Display the logo.  Default: /Q-
**all : Generate information for the typeid and dynamic_cast operators.
 
**typeinfo : Generate information for the typeid operator.
; /Tl[+]
**dynamiccast : Generate information for the dynamic_cast operators.
: Enable preloading of the compiler.
* /qnortti : Do not generate run-time type information. Default: /qnortti (C++ mode only)
 
; /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==
==DLLs Loaded==

Latest revision as of 13:48, 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