Jump to content

Icc.exe: Difference between revisions

From EDM2
Ak120 (talk | contribs)
mNo edit summary
Ak120 (talk | contribs)
Line 91: Line 91:
* /Wvft[+|-] : Generate messages about virtual function table generation.
* /Wvft[+|-] : Generate messages about virtual function table generation.


===Source Code Options===
;Source Code Options
; /J[+|-] : /J+: Make default char type unsigned.  Default: /J+
* /J[+|-]
: /J-: Make default char type signed.
** /J+: Make default char type unsigned.  Default: /J+
 
** /J-: Make default char type signed.
; /qbitfields=<signed|unsigned>
* /qbitfields=<signed|unsigned>
: Specifies sign of bitfields.
** Specifies sign of bitfields.
: Default: /qbitfields=unsigned.
** Default: /qbitfields=unsigned.
 
* /q[no]digraph : Allow special digraph and keyword operators. Default: /qnodigraph.
; /q[no]digraph    
* /q[no]exppragma : Allow macros to be expanded inside of pragma directives. Default: /qexppramga.
: Allow special digraph and keyword operators. Default: /qnodigraph.
* /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
; /q[no]exppragma  
**/Sa: Allow language constructs that conform to ANSI/ISO standards.
: Allow macros to be expanded inside of pragma directives. Default: /qexppramga.
**/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.
; /q[no]longlong  
**/S2: Allow language constructs that conform to SAA Level 2 standards. (C mode only)
: Allow long long integers. Default: /qlonglong
* /Sd[+|-]  
 
** /Sd+: Set the default file extension to .c.
; /S<a|c|e|2> : Select language level to be accepted by the compiler. Default /Se
** /Sd-: Set the default file extension to .obj.
::/Sa: Allow language constructs that conform to ANSI/ISO standards.
** Default: /Sd-
::/Sc: Allow language constructs that are compatible with older versions of the C++ language. (C++ mode only)
* /Sg<[m][,n]|-> : Set margins for source files; only text between columns m and n will be processed. Default: /Sg- (C only)
::/Se: Allow all IBM C and C++ language extensions.
* /Sh[+|-] : Allow use of ddnames on calls to fopen(). Default: /Sh-
::/S2: Allow language constructs that conform to SAA Level 2 standards. (C mode only)
* /Si[+|-] : Use precompiled header files when available. Default: /Si-
 
* /Si<name> : Specify the name/path of the precompiled header file(s).
; /Sd[+|-]  
* /Sm[+|-] : Ignore migration keywords. Default: /Sm-
: /Sd+: Set the default file extension to .c.
* /Sn[+|-] : Allow DBCS characters in source file. Default: /Sn-
: /Sd-: Set the default file extension to .obj.
* /Sp<[1]|2|4|8|16> : Pack aggregate members on specified alignment. Default: /Sp4
: Default: /Sd-
* /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.
; /Sg<[m][,n]|->  
* /Sr-: Use new-style rules for type conversions to preserve accuracy. Default: /Sr- (C mode only)
: Set margins for source files; only text between columns m and n will be processed. Default: /Sg- (C 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-
; /Sh[+|-]
* /Sv[+|-] : Enable support for using memory files. Default: /Sv-
: Allow use of ddnames on calls to fopen(). Default: /Sh-
* /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
; /Si[+|-] : Use precompiled header files when available. Default: /Si-
* /Tdc : Compile all following source files as C files.
; /Si<name> : Specify the name/path of the precompiled header file(s).
* /Tdp : Compile all following source files as C++ files and invoke link step to resolve all template functions.
; /Sm[+|-] : Ignore migration keywords. Default: /Sm-
* /Tp<name> : Compile the file <name> as a C++ file.
; /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===
===Preprocessor Options===

Revision as of 13:36, 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