JavaSolarisCommunitiesAbout SunHow to BuyMy AccountCartUnited StatesWorldwide
Sun Microsystems Documentation
docs.sun.com
Browse Documentation Titles
Browse Product Documentation
Help

All C++ Options

Option Meaning
-386 Use -xtarget=386 instead.
-486 Use -xtarget=486 instead.
-a Use -xa instead.
-B Specifies whether a library binding for linking is symbolic, dynamic (shared), or static (nonshared).
-c Suppresses linking with the linker and, instead, produces a .o file for each source file.
-cg Use -xcg instead.
-compat Sets the major release compatibility mode of the compiler.
+d Prevents the compiler from expanding C++ inline functions.
-Dname Defines a macro symbol name to the preprocessor.
-d Allows or disallows dynamic libraries for the entire executable.
-dalign Use -xmemalign instead.
-dryrun Shows each component as it would be invoked, but does not actually execute it. Also shows how command options would expand.
-E Directs the CC driver to only preprocess the C++ source files, and to send the result to stdout (standard output).
+e Controls virtual table generation in compatibility mode (-compat[=4]).
-erroff Suppresses compiler warning messages but has no effect on error messages.
-errtags Displays the message tag for each warning message of the compiler front-end that can be suppressed with the -erroffoption or made a fatal error with the -errwarn option.
-errwarn Causes the compiler to exit with a failure status for the given warning messages.
-fast This option is a macro that you can effectively use as a starting point for tuning an executable for maximum run-time performance.
-features Enables/disables various C++ language features.
-filt Suppress the filtering that the C++ compiler normally applies to linker error messages.
-flags Same as -xhelp=flags.
-fma Enables automatic generation of floating-point, fused, multiply-add instructions.
-fnonstd Causes hardware traps to be enabled for floating-point overflow, division by zero, and invalid operations exceptions.
-fns Enables the nonstandard floating-point mode on SPARC and selects SSE flush-to-zero mode and, where available, denormals-are-zero mode for x86.
-fprecision Sets floating-point rounding precision mode.
-fround Sets the IEEE rounding mode in effect at startup.
-fsimple Selects floating-point optimization preferences.
-fstore Forces precision of floating-point expressions.
-ftrap Sets the IEEE trapping mode in effect at startup but does not install a SIGFPE handler.
-G Build a dynamic shared library instead of an executable file.
-g Instructs both the compiler and the linker to prepare the file or program for debugging.
-g0 Instructs the compiler to prepare the file or program for debugging, but not to disable inlining.
-H Prints the path name of each include file contained in the current compilation to the standard error output.
-h Assign a name to the generated shared dynamic library.
-help See -xhelp.
-I Adds a pathname to the list of directories that are searched for #include files with relative file paths.
-I- Change the include-file search rules.
-i Tells the linker, ld(1), to ignore any LD_LIBRARY_PATH setting.
-inline Use -xinline instead.
-instances Controls the placement and linkage of template instances.
-instlib Inhibits the generation of template instances that are duplicated in a library, either static or shared, and the current object.
-KPIC Use -xcode=pic32 instead.
-Kpic Use -xcode=pic13 instead.
-keeptmp Retains the temporary files that are created during compilation.
-L Adds a path to the library search paths.
-l Adds dynamic or static library to linker's list of search libraries.
-libmieee Use -xlibmieee instead.
-libmil Use -xlibmil instead.
-library Incorporates specified compiler-provided libraries into compilation and linking.
-m32|64 Specifies the memory model for the compiled binary object.
-mc Removes duplicate strings from the .comment section of the object file.
-migration Explains where to get information about migrating source code that was built for earlier versions of the compiler.
-misalign This option is deprecated in the C compiler so use the -xmemalign=1i option instead. However, this option is allowed in the C++ compiler where it permits misaligned data in memory which would otherwise generate an error.
-mr Removes all strings from the .comment section of the object file and, if a substitute string is supplied, places the substitute in that section.
-mt Indicates compilation and linking for multithreaded code.
-native Use -xtarget=native instead.
-noex Use -features=no%except instead.
-nofstore Disables forced precision of expression.
-nolib Use -xnolib instead.
-nolibmil Use -xnolibmil instead.
-noqueue Obsolete: There is no suggested alternate option.
-norunpath Does not build the path for shared libraries into the executable.
-O Macro for -x03. Note: use the capital letter o for this option, not zero.
-Olevel Use -xOlevel instead. Note: use the capital letter o for this option, not zero.
-o Sets the name of the output file (with the suffix .o) or the executable file.
+p Ignore non-standard preprocessor asserts.
-P Only preprocesses source; does not compile.
-p Use -xpg instead.
-pentium Use -xtarget=pentium instead.
-pg Use -xpg instead.
-PIC SPARC: Same as -xcode=pic32. x86: Same as -KPIC.
-pic SPARC: Same as -xcode=pic13. x86: Same as -Kpic.
-pta Use -template=wholeclass instead.
-pti Specifies an additional search directory for template source.
-pto Use -instances=static instead.
-ptr Obsolete: Do not use, there is no suggested alternate option.
-ptv Use -verbose=template instead.
-Q Passes compiler options to a specific phase of the compilation process.
-Qproduce Causes the CC driver to produce output of the specified type.
-q Use -Q instead.
-qp Same as -p.
-qproduce Use -Qproduce instead.
-R Builds dynamic library search paths into the executable file.
-readme Same as -xhelp=readme.
-S Compiles and generates only assembly code.
-s Strips the symbol table from the executable file.
-sb Obsolete. Produces table information for the source code browser.
-sbfast Obsolete. Produce only source code browser tables.
-staticlib Indicates which C++ libraries specified by the -library option (including its defaults), by the -xlang option, and by the -xia option are to be linked statically.
-sync_stdio Improves performance by turning off synchronization between C++ iostreams and C stdio
-temp Defines the directory for temporary files.
-template Enables/disables various template options.
-time Use -xtime instead.
-Uname Removes any initial definition of the named macro symbol that was created by -D on the same command line, including those implicitly placed there by the command-line driver.
-unroll Same as -xunroll.
-V Same as -verbose=version.
-v Same as -verbose=diags.
-vdelx Deprecated, do not use.
-verbose Controls compiler verbosity.
+w Identifies code that might have unintended consequences.
+w2 Emits the same warnings as +w as well as warnings about technical violations that are probably harmless, but that might reduce the maximum portability of your program.
-w Suppresses warning messages.
-Xm Use -features=iddollar instead.
-xa Generates code for profiling.
-xalias_level Allows the compiler to perform type-based alias-analysis.
-xar Creates archive libraries.
-xarch Specifies the target architecture instruction set (ISA).
-xautopar Turns on automatic parallelization for multiple processors.
-xbinopt Instructs the compiler to prepare the binary for later optimizations, transformations and analysis (see binopt(1)).
-xbuiltin Enables or disables better optimization of standard library calls.
-xcache Defines the cache properties for use by the optimizer.
-xcg Do not use this option, the current Solaris operating systems no longer support the SPARC V7 architecture.
-xchar Eases the migration of code from systems where the char type is defined as unsigned.
-xcheck Enables a runtime check for stack overflow.
-xchip Specifies the target processor for use by the optimizer.
-xcode Specifies code address space.
-xcrossfile Enables optimization and inlining across source files.
-xdebugformat Identifies the format of debugger information
-xdepend Analyzes loops for inter-iteration data dependencies and performs loop restructuring.
-xdumpmacros Shows how macros are behaving in your program.
-xe Checks only for syntax and semantic errors.
-xF Enables the optimal reordering of functions and variables by the linker.
-xhelp Displays online help for compiler options or latest readme.
-xhwcprof Enables compiler support for hardware counter-based profiling.
-xia Links the appropriate interval arithmetic libraries and sets a suitable floating-point environment.
-xinline Specifies which user-written routines can be inlined by the optimizer at -xO3 or higher.
-xinstrument Compiles and instruments your program for analysis by the Thread Analyzer.
-xipo Performs interprocedural optimizations.
-xjobs Sets compilation for multiple processors.
-xlang Includes the appropriate runtime libraries and ensures the proper runtime environment for the specified language.
-xldscope Changes the default linker scoping for the definition of extern symbols.
-xlibmieee Causes libm to return IEEE 754 values for math routines in exceptional cases.
-xlibmil Inlines selected library routines for optimization.
-xlibmopt Uses a library of optimized math routines.
-xlic_lib Use -library=sunperf instead.
-xlicinfo Obsolete: This option is silently ignored by the compiler.
-xlinkopt Performs link-time optimizations on relocatable object files.
-xM1 Same as -xM, except that this option does not report dependencies for the /usr/include header files and it does not report dependencies for compiler-supplied header files.
-xM Runs only the preprocessor on the named C++ programs, requesting that it generate makefile dependencies and send the result to the standard outputx
-xMerge Merges the data segment of the object files with the text segment.
-xmaxopt Limits the level of the opt pragma.
-xmemalign Specifies the maximum assumed memory alignment and the behavior of misaligned data accesses.
-xmodel Enables the compiler to modify the form of 64-bit objects for the Solaris x86 platforms and should only be specified for the compilation of such objects.
-xnativeconnect Includes interface information inside object file and subsequent shared libraries so that the shared library can interface with Java.
-xnolib Disables linking with default system libraries.
-xnolibmil Cancels -xlibmil on the command line.
-xnolibmopt Does not use the math routine library by turning off any previously specified -xlibmopt options.
-xO Specifies optimization level.
-xopenmp Enable explicit parallelization with OpenMP directives.
-xpagesize Set the preferred page size for the stack and the heap.
-xpagesize_heap Set the preferred page size for the heap.
-xpagesize_stack Set the preferred page size for the stack.
-xpch Activates the precompiled-header feature.
-xpchstop Identifies the last include file to be considered in creating a precompiled-header file.
-xpg Compiles for profiling with the gprof profiler.
-xport64 Helps you port code to a 64-bit environment.
-xprefetch Enables and adjusts prefetch instructions on those architectures that support prefetch.
-xprefetch_auto_type Determines whether or not the compiler generates indirect prefetches for the loops indicated by the -xprefetch_level option in the same fashion that the prefetches for direct memory accesses are generated.
-xprefetch_level Controls the aggressiveness of automatic insertion of prefetch instructions as determined with -xprefetch=auto.
-xprofile Collects or optimizes with runtime profiling data.
-xprofile_ircache Improves compilation time during the use phase of -xprofile by reusing compilation data saved from the collect phase of -xprofile.
-xprofile_pathmap For use in conjunction with the -xprofile=use option.
-xregs Makes available additional scratch registers for use during compilation.
-xrestrict Treats pointer-valued function parameters as restricted pointers.
-xs Allows debugging by dbx without object files.
-xsafe Allows the compiler to assume that no memory protection violations occur.
-xsb Obsolete. Synonym for -sb.
-xsbfast Obsolete. Synonym for -sbfast.
-xspace Does not allow optimizations that increase code size.
-xtarget Specifies the target system for instruction set and optimization.
-xthreadvar Works in conjunction with the __thread declaration specifier to take advantage of the compiler's thread-local storage facility.
-xtime Causes the CC driver to report execution times for the various compilation passes.
-xtrigraphs Enables or disables recognition of trigraph sequences as defined by the ISO/ANSI C standard.
-xunroll Enables unrolling of loops where possible.
-xustr Enables compiler recognition of UTF-16 character strings and literals.
-xvector Enables automatic generation of calls to the vector library and/or the generation of the SIMD (Single Instruction Multiple Data) instructions.
-xvis Declares the use of the assembly-language templates defined in the VIS[tm] instruction set Software Developers Kit (VSDK).
-xwe Converts all warnings to errors by returning non-zero exit status.
-Y Specifies a new path for the location of compilation components.
-z Link editor option.

ContactAbout SunNewsEmploymentSite MapPrivacyTerms of UseTrademarksCopyright Sun Microsystems, Inc.