Icc.exe: Difference between revisions
Line 188: | Line 188: | ||
===Source Code Options=== | ===Source Code Options=== | ||
/J[+|-] /J+: Make default char type unsigned. Default: /J+ | ; /J[+|-] | ||
: /J+: Make default char type unsigned. Default: /J+ | |||
/qbitfields=<signed|unsigned> | : /J-: Make default char type signed. | ||
; /qbitfields=<signed|unsigned> | |||
/q[no]digraph Allow special digraph and keyword operators. Default: | : Specifies sign of bitfields. | ||
: Default: /qbitfields=unsigned. | |||
/q[no]exppragma Allow macros to be expanded inside of pragma directives. | |||
; /q[no]digraph | |||
/q[no]longlong Allow long long integers. Default: /qlonglong | : Allow special digraph and keyword operators. Default: /qnodigraph. | ||
/S<a|c|e|2> Select language level to be accepted by the compiler. | |||
; /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 | |||
/Sd[+|-] | ::/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. | |||
/Sg<[m][,n]|-> Set margins for source files; only text between columns m | ::/S2: Allow language constructs that conform to SAA Level 2 standards. (C mode only) | ||
/Sh[+|-] | ; /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. | /Si[+|-] Use precompiled header files when available. | ||
Default: /Si- | Default: /Si- |
Revision as of 18:20, 8 December 2018
This is the IBM C compiler executable file.
Versions
Date | Version | Size | Comments |
---|---|---|---|
2000-11-24 12:44a | 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 |
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