Jump to content

Icc.exe: Difference between revisions

From EDM2
No edit summary
Ak120 (talk | contribs)
 
(21 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
|-
|-
|11-07-1998  7:37a ||   || 55,348 bytes || Version 3.6
|2000-11-24||3.6 FP2||57,078 bytes||Version 3.6 with Fixpack 2.
|-
|  ||  ||  bytes ||
|-
|  ||  ||  bytes ||
|-
|-
|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[+|-]         Produce an assembler file.  Default: /Fa-
* /Fa[+|-] : Produce an assembler file.  Default: /Fa-
/Fa<dir><name>   Specify the name/path of the assembler file(s).
* /Fa<dir><name> : Specify the name/path of the assembler file(s).
/Fc[+|-]         Perform syntax and semantic check only.  Default: /Fc-
* /Fc[+|-] : Perform syntax and semantic check only.  Default: /Fc-
/Fe<name>         Specify the name of the executable file.
* /Fe<name> : Specify the name of the executable file.
/Fi[+|-]         Generate precompiled header files.  Default: /Fi-
* /Fi[+|-] : Generate precompiled header files.  Default: /Fi-
/Fi<dir><name>   Specify the name/path of the precompiled header file(s).
* /Fi<dir><name> : Specify the name/path of the precompiled header file(s).
/Fl[+|-]         Generate basic listing file.  Default: /Fl-
* /Fl[+|-] : Generate basic listing file.  Default: /Fl-
/Fl<dir><name>   Specify the name/path of the listing file(s).
* /Fl<dir><name> : Specify the name/path of the listing file(s).
/Fm[+|-]         Produce a linker map file.  Default: /Fm-
* /Fm[+|-] : Produce a linker map file.  Default: /Fm-
/Fm<name>         Specify the name of the linker map file.
* /Fm<name> : Specify the name of the linker map file.
/Fn[+|-]         Produce an assembler listing that includes machine code.
* /Fn[+|-] : Produce an assembler listing that includes machine code. Default: /Fn-
                  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.
/Fn<dir><name>   Specify the name/path of the assembler listing that
* /Fo[+|-] : Generate the object file.  Default /Fo+
                  includes machine code.
* /Fo<dir><name> : Specify the name/path of the object file.
                  Default: source file name with extension of .COD.
* /Ft[+|-] : Generate template file.  Default: /Ft+ (C++ mode only)
/Fo[+|-]         Generate the object file.  Default /Fo+
* /Ft<dir> : Specify the directory in which to place template files. (C++ mode only)
/Fo<dir><name>   Specify the name/path of the object file.
* /I<path>[;<path>] : Specify where to search for include files.
/Ft[+|-]         Generate template file.  Default: /Ft+ (C++ mode only)
* /Xc[+|-] : Ignore all previous paths specified by the /I option. Default: /Xc-
/Ft<dir>         Specify the directory in which to place template files.
* /Xi[+|-] : Do not use the INCLUDE environment variable when searching for include files. Default: /Xi-
                  (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===
;Listing Output Options
/J[+|-]           /J+: Make default char type unsigned.  Default: /J+
* /L[+|-] : Generate basic listing file.  Default: /L-
                  /J-: Make default char type signed.
* /La[+|-] : Include a layout of all referenced struct or union variables in the listing file. Default: /La-
/qbitfields=<signed|unsigned>
* /Lb[+|-] : Include a layout of all struct or union variables in the listing file. Default: /Lb-
                  Specifies sign of bitfields.
* /Le[+|-] : Show all expanded macros in the listing file. Default: /Le-
                  Default: /qbitfields=unsigned.
* /Lf[+|-] : Full listing; turn on all listing options. Default: /Lf-
/q[no]digraph    Allow special digraph and keyword operators. Default:
* /Li[+|-] : Expand only user #include files in the listing file. Default: /Li-
                  /qnodigraph.
* /Lj[+|-] : Expand both user and system #include files in the listing file.  Default: /Lj-
/q[no]exppragma  Allow macros to be expanded inside of pragma directives.
* /Lp<lines> : Set page length on listing. Default: /Lp66
                  Default: /qexppramga.
* /Ls[+|-] : Include source statements in the listing file. Default: /Ls-
/q[no]longlong    Allow long long integers. Default: /qlonglong
* /Lt"string" :Set title string on listing.
/S<a|c|e|2>      Select language level to be accepted by the compiler.
* /Lu"string" :Set subtitle string on listing.
                  Default /Se
* /Lx[+|-] :Produce a cross-reference table of referenced variables in the listing file. Default: /Lx-
                  /Sa: Allow language constructs that conform to ANSI/ISO
* /Ly[+|-] :Produce a cross-reference table of all variables in the listing file.  Default: /Ly-
                      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===
;Debugging Options
/D<name>         Define preprocessor macros to the value '1'.
*/N<n> :Set maximum number of errors before aborting compilation. Default: Abort only on unrecoverable error.
/D<name>=[<def>] Define preprocessor macros to the value given.
*/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
/D<name>::[<def>] Define preprocessor macros to the value given.
* /Ti[+|-] : Generate debugging information. Default: /Ti-
/P[+|-]           /P+: Run only the preprocessor against the source file.
* /Tm[+|-] : Enable debug memory management support. Default: /Tm-
                  /P-: Run the entire compiler against the source file.
* /Tn[+|-] : Generate line-number-only debug information. Default: /Tn-
                      Default: /P-
* /Tx[+|-] : Generate full exception register dump.  Default: /Tx-
/Pc[+|-]         /Pc+: Run only the preprocessor against the source file
* /W<0|1|2|3> : /W0: Output only severe and unrecoverable error messages generated by the compiler.
                        and preserve comments during preprocessing.
** /W1: Output error, severe, and unrecoverable error messages generated by the compiler.
                  /Pc-: Run only the preprocessor against the source file
** /W2: Output warning, error, severe and unrecoverable error messages generated by the compiler.
                        and do not preserve comments during preprocessing.
** /W3: Output all messages generated by the compiler. Default: /W3
                        Default: /Pc-
* /Wall[+|-] : Generate all checkout messages. Default: /Wall-pro+ret+cnd
/Pd[+|-]         /Pd+: Send the preprocessor output to stdout.
* /Wcls[+|-] : Display information about class use.
                  /Pd-: Send the preprocessor output to a file.
* /Wcmp[+|-] : Warn about possible redundancies in unsigned comparisons.
                        Default: /Pd-
* /Wcnd[+|-] : Warn about possible redundancies or problems in conditional expressions.
/Pe[+|-]         /Pe+: Suppress #line directives from the preprocessor
* /Wcns[+|-] : Warn about operations involving constants.
                        output.
* /Wcnv[+|-] : Generate messages about conversions.
                  /Pe-: Produce #line directives in the preprocessor output.
* /Wcpy[+|-] : Inform if copy constructor cannot be generated.
                        Default: /Pe-
* /Wdcl[+|-] : Check for declaration consistency.
/U<name>          Undefine user macro.
* /Weff[+|-] : Warn about statements with no effect.
/U*              Undefine all user-defined macros.
* /Wenu[+|-] : Check for problems with enum consistency.
                  - Code Generation Options -
* /Wext[+|-] : Warn about unused external definitions.
                  ===========================
* /Wgen[+|-] : Generate general checkout messages.
/G<3|4|5>        /G3: Generate code optimized for use on an 80386
* /Wgnr[+|-] : Inform if compiler generates a temporary variable.
                      processor.
* /Wgot[+|-] : Warn about usage of goto statements.
                  /G4: Generate code optimized for use on an 80486
* /Wini[+|-] : Check for possible initialization problems.
                      processor.
* /Winl[+|-] : Inform about inlined functions (C++ mode only).
                  /G5: Generate code optimized for use on a Pentium
* /Wlan[+|-] : Display information about the effects of language level.
                      processor.
* /Wobs[+|-] : Warn about obsolete features.
                      These options can be also specified using /qtune=386,
* /Word[+|-] : Warn about possibly ambiguous order of evaluation.
                      /qtune=486 and /qtune=pentium. See /qtune option for
* /Wpar[+|-] : Warn about unused parameters.
                      other suboptions and default.
* /Wpor[+|-] : Warn about non-portable language constructs.
/Gd[+|-]         /Gd+: Use the version of the runtime library that is
* /Wppc[+|-] : Warn about possible problems using the preprocessor.
                        dynamically linked.
* /Wppt[+|-] : Display a trace of preprocessor actions.
                  /Gd-: Use the version of the runtime library that is
* /Wpro[+|-] : Warn about missing function prototypes.
                        statically linked.  Default: /Gd-
* /Wrea[+|-] : Warn about unreachable statements.
/Ge[+|-]         /Ge+: Use the version of the runtime library that assumes an
* /Wret[+|-] : Check for return statement consistency.
                        EXE is being built.
* /Wtrd[+|-] : Warn about possible truncation or loss of data.
                  /Ge-: Use the version of the runtime library that assumes a
* /Wtru[+|-] : Warn about variable names trunctated by the compiler.
                        DLL is being built. Default: /Ge+
* /Wund[+|-] : Warn about casting of pointers to/from an undefined class.
/Gf[+|-]         Generate fast floating-point code. Default: /Gf+
* /Wuni[+|-] : Warn about uninitialized variables.
/Gi[+|-]         Generate fast integer code. Default: /Gi+
* /Wuse[+|-] : Check for unused auto/static variables.
/Gk[+|-]         Link with version 2 C++ libraries. Default: /Gk-
* /Wvft[+|-] : Generate messages about virtual function table generation.


/Gl[+|-]         Enable smart linking. Default: /Gl-
;Source Code Options
/Gm[+|-]          Link with multithread runtime libraries. Default: /Gm-
* /J[+|-]
/Gn[+|-]         /Gn+: Do not generate default libraries in object.
** /J+: Make default char type unsigned. Default: /J+
                  /Gn-: Generate default libraries in object. Default: /Gn-
** /J-: Make default char type signed.
/Gp[+|-]         /Gp+: Generate code that allows the __parmdwords()
* /qbitfields=<signed|unsigned>
                        function to work.
** Specifies sign of bitfields.
                  /Gp-: Do not support use of the __parmdwords() function.
** Default: /qbitfields=unsigned.
                        Default: /Gp-
* /q[no]digraph : Allow special digraph and keyword operators. Default: /qnodigraph.
/Gr[+|-]         Allow object code to run at ring 0. Default: /Gr-
* /q[no]exppragma : Allow macros to be expanded inside of pragma directives. Default: /qexppramga.
/Gs[+|-]          /Gs+: Suppress stack probes in function prologs.
* /q[no]longlong : Allow long long integers. Default: /qlonglong
                        Default: /Gs-
* /S<a|c|e|2> : Select language level to be accepted by the compiler. Default /Se
/Gt[+|-]         Store variables so that they do not cross 64K
**/Sa: Allow language constructs that conform to ANSI/ISO standards.
                  boundaries. Default: /Gt-
**/Sc: Allow language constructs that are compatible with older versions of the C++ language. (C++ mode only)
/Gv[+|-]         Reload DS and ES from DGROUP in the prologs of
**/Se: Allow all IBM C and C++ language extensions.
                  external functions. Default: /Gv- (C mode only)
**/S2: Allow language constructs that conform to SAA Level 2 standards. (C mode only)
/Gx[+|-]         Disable the generation of C++ exception handling code.
* /Sd[+|-]  
                  Default: /Gx- (C++ mode only)
** /Sd+: Set the default file extension to .c.
/Gy[+|-]         Decorate external data names with underscore.
** /Sd-: Set the default file extension to .obj.
                  Default: /Gy- (C mode only)
** Default: /Sd-
/M<p|s|c|t>       /Mp: Set the default calling convention to _Optlink.
* /Sg<[m][,n]|-> : Set margins for source files; only text between columns m and n will be processed. Default: /Sg- (C only)
                  Default: /Mp
* /Sh[+|-] : Allow use of ddnames on calls to fopen(). Default: /Sh-
                  /Ms: Set the default calling convention to _System.
* /Si[+|-] : Use precompiled header files when available. Default: /Si-
                  /Mc: Set the default calling convention to __cdecl.
* /Si<name> : Specify the name/path of the precompiled header file(s).
                  /Mt: Set the default linkage to __stdcall.
* /Sm[+|-] : Ignore migration keywords. Default: /Sm-
/ND<seg_name>    Specify the name for the default data, uninitialized data,
* /Sn[+|-] : Allow DBCS characters in source file. Default: /Sn-
                  and constant segments. Default: use DATA32, BSS32
* /Sp<[1]|2|4|8|16> : Pack aggregate members on specified alignment. Default: /Sp4
                  and CONST32_RO.
* /Sq<[m][,n]|-> : Specify the portion of the input record that contains sequence numbers. Default: /Sq- (no sequence number) (C mode only)
/NT<seg_name>    Specify the name for the default text segment.
* /Sr[+|-] : /Sr+: Use old-style rules for type conversions to preserve the sign.
                  Default: CODE32.
* /Sr-: Use new-style rules for type conversions to preserve accuracy. Default: /Sr- (C mode only)
/NX<seg_name>    Specify segment name for exception handling code and data.
* /Ss[+|-] : Allow the double slash (//) format to be used for comments. Default: /Ss- (C mode only)
                  (C++ mode only). Default: use  EH_CODE and EH_DATA.
* /Su[+|-|1|2|4] : Pack enum variables into specified integral size. Default: /Su-
/O[+|-]           Optimize generated code.  Default: /O-
* /Sv[+|-] : Enable support for using memory files. Default: /Sv-
/O2              Equivalent to /O+.
* /Tc<name> : Compile the file <name> as a C file.
/O3              Equivalent to /O+.
* /Td : Compile any file with extension .cpp or .cxx as C++ file, and any other unrecognized file as C file. Default: /Td
/Oc[+|-]         Optimize for code size rather than speed. Default: /Oc-.
* /Tdc : Compile all following source files as C files.
/Oi[+|-]         Turn on function inlining. Default: /Oi- if /O-, /Oi+ if /O+
* /Tdp : Compile all following source files as C++ files and invoke link step to resolve all template functions.
/Oi<value>       Set the threshold for auto-inlining to <value>
* /Tp<name> : Compile the file <name> as a C++ file.
                  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.
;Preprocessor Options
                  pentium    Produce object code optimized for the
* /D<name> :Define preprocessor macros to the value '1'.
                              Pentium processor.
* /D<name>=[<def>] : Define preprocessor macros to the value given.
                  pentium2    Produce object code optimized for the
* /D<name>::[<def>] : Define preprocessor macros to the value given.
                              Pentium2 processor.
* /P[+|-]
                  blend      Produce object code optimized for all the
** /P+: Run only the preprocessor against the source file.
                              X86 processors.
** /P-: Run the entire compiler against the source file. Default: /P-
                  Default is  /qtune=blend.
* /Pc[+|-]
/qarch=<option>
** /Pc+: Run only the preprocessor against the source file and preserve comments during preprocessing.
                  Specifies the architecture on which the executable
** /Pc-: Run only the preprocessor against the source file and do not preserve comments during preprocessing. Default: /Pc-
                  program will be run.
* /Pd[+|-]
                  The available options are:
** /Pd+: Send the preprocessor output to stdout.
                  x86        runs on any 32-bit x86 architecture
** /Pd-: Send the preprocessor output to a file. Default: /Pd-
                  486        runs on any architecture supporting 486
* /Pe[+|-]
                            instruction set.
** /Pe+: Suppress #line directives from the preprocessor output.
                  pentium    runs on any architecture supporting Pentium
** /Pe-: Produce #line directives in the preprocessor output. Default: /Pe-
                            instruction set.
* /U<name> :Undefine user macro.
                  pentium2  runs on any architecture supporting Pentium2
* /U* : Undefine all user-defined macros.
                            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.
;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===
;Other Options
; /? : Display online help (this information).
* /? : Display online help (this information).
; /B"options" : Pass options to the linker. Default: /B""
* /B"options" : Pass options to the linker. Default: /B""
/C[+|-]           /C+: Perform compile only, no link.
* /C[+|-]
                  /C-: Perform compile and link.  Default: /C-
** /C+: Perform compile only, no link.
/H<n>             Set the maximum length of external names. Default: /H255
** /C-: Perform compile and link.  Default: /C-
/Q[+|-]           /Q+: Suppress the logo.
* /H<n> : Set the maximum length of external names. Default: /H255
                  /Q-: Display the logo.  Default: /Q-
* /Q[+|-]
/Tl[+]           Enable preloading of the compiler.
** /Q+: Suppress the logo.
/Tl-             Disable preloading of the compiler and unload it if it
** /Q-: Display the logo.  Default: /Q-
                  is already loaded.
* /Tl[+] : Enable preloading of the compiler.
/Tl<n>           Keep compiler preloaded for 'n' minutes.  Default: /Tl10
* /Tl-: Disable preloading of the compiler and unload it if it is already loaded.
/V"string"       Imbed text string for version into the object
* /Tl<n>: Keep compiler preloaded for 'n' minutes.  Default: /Tl10
                  file.
* /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
* /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
                  isolated_call.
* /qmakedep : Generate information to be included in a "make" description file; output goes to .u file.
/q[no]libansi     Tell the compiler that all functions with the name of an
* /q[no]ro : Put string literals in read only area. Default is /qro.
                  ANSI C library are in fact the system functions.
* /qrtti=<option> : Generate run-time type information. The available options are:
                  Default: /qnolibansi
**all : Generate information for the typeid and dynamic_cast operators.
/qmakedep         Generate information to be included in a "make"
**typeinfo : Generate information for the typeid operator.
                  description file; output goes to .u file.
**dynamiccast : Generate information for the dynamic_cast operators.
/q[no]ro         Put string literals in read only area. Default is /qro.
* /qnortti : Do not generate run-time type information. Default: /qnortti (C++ mode only)
/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