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

All Shared C and C++ Options

Option Language Meaning
-B C C++ Specifies whether a library binding for linking is symbolic, dynamic (shared), or static (nonshared).
-c C C++ Suppresses linking with the linker and, instead, produces a .o file for each source file.
-Dname C C++ Defines a macro symbol name to the preprocessor.
-d C C++ Allows or disallows dynamic libraries for the entire executable.
-dalign C C++ Use -xmemalign instead.
-E C C++ Directs the CC driver to only preprocess the C++ source files, and to send the result to stdout (standard output).
-erroff C C++ Suppresses compiler warning messages but has no effect on error messages.
-errtags C C++ 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 C C++ Causes the compiler to exit with a failure status for the given warning messages.
-fast C C++ This option is a macro that you can effectively use as a starting point for tuning an executable for maximum run-time performance.
-fma C C++ Enables automatic generation of floating-point, fused, multiply-add instructions.
-fns C C++ 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 C C++ Sets floating-point rounding precision mode.
-fround C C++ Sets the IEEE rounding mode in effect at startup.
-fsimple C C++ Selects floating-point optimization preferences.
-fstore C C++ Forces precision of floating-point expressions.
-ftrap C C++ Sets the IEEE trapping mode in effect at startup but does not install a SIGFPE handler.
-G C C++ Build a dynamic shared library instead of an executable file.
-g C C++ Instructs both the compiler and the linker to prepare the file or program for debugging.
-H C C++ Prints the path name of each include file contained in the current compilation to the standard error output.
-h C C++ Assign a name to the generated shared dynamic library.
-I C C++ Adds a pathname to the list of directories that are searched for #include files with relative file paths.
-I- C C++ Change the include-file search rules.
-i C C++ Tells the linker, ld(1), to ignore any LD_LIBRARY_PATH setting.
-KPIC C C++ Use -xcode=pic32 instead.
-Kpic C C++ Use -xcode=pic13 instead.
-keeptmp C C++ Retains the temporary files that are created during compilation.
-L C C++ Adds a path to the library search paths.
-l C C++ Adds dynamic or static library to linker's list of search libraries.
-m32|64 C C++ Specifies the memory model for the compiled binary object.
-mc C C++ Removes duplicate strings from the .comment section of the object file.
-misalign C C++ 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 C C++ 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 C C++ Indicates compilation and linking for multithreaded code.
-native C C++ Use -xtarget=native instead.
-nofstore C C++ Disables forced precision of expression.
-O C C++ Macro for -x03. Note: use the capital letter o for this option, not zero.
-o C C++ Sets the name of the output file (with the suffix .o) or the executable file.
-P C C++ Only preprocesses source; does not compile.
-p C C++ Use -xpg instead.
-qp C C++ Same as -p.
-R C C++ Builds dynamic library search paths into the executable file.
-S C C++ Compiles and generates only assembly code.
-s C C++ Strips the symbol table from the executable file.
-Uname C C++ 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.
-w C C++ Suppresses warning messages.
-xa C C++ Generates code for profiling.
-xalias_level C C++ Allows the compiler to perform type-based alias-analysis.
-xarch C C++ Specifies the target architecture instruction set (ISA).
-xautopar C C++ Turns on automatic parallelization for multiple processors.
-xbinopt C C++ Instructs the compiler to prepare the binary for later optimizations, transformations and analysis (see binopt(1)).
-xbuiltin C C++ Enables or disables better optimization of standard library calls.
-xcache C C++ Defines the cache properties for use by the optimizer.
-xcg C C++ Do not use this option, the current Solaris operating systems no longer support the SPARC V7 architecture.
-xchar C C++ Eases the migration of code from systems where the char type is defined as unsigned.
-xcheck C C++ Enables a runtime check for stack overflow.
-xchip C C++ Specifies the target processor for use by the optimizer.
-xcode C C++ Specifies code address space.
-xdebugformat C C++ Identifies the format of debugger information
-xdepend C C++ Analyzes loops for inter-iteration data dependencies and performs loop restructuring.
-xe C C++ Checks only for syntax and semantic errors.
-xF C C++ Enables the optimal reordering of functions and variables by the linker.
-xhelp C C++ Displays online help for compiler options or latest readme.
-xhwcprof C C++ Enables compiler support for hardware counter-based profiling.
-xinline C C++ Specifies which user-written routines can be inlined by the optimizer at -xO3 or higher.
-xinstrument C C++ Compiles and instruments your program for analysis by the Thread Analyzer.
-xipo C C++ Performs interprocedural optimizations.
-xjobs C C++ Sets compilation for multiple processors.
-xldscope C C++ Changes the default linker scoping for the definition of extern symbols.
-xlibmieee C C++ Causes libm to return IEEE 754 values for math routines in exceptional cases.
-xlibmil C C++ Inlines selected library routines for optimization.
-xlibmopt C C++ Uses a library of optimized math routines.
-xlic_lib C C++ Use -library=sunperf instead.
-xlicinfo C C++ Obsolete: This option is silently ignored by the compiler.
-xlinkopt C C++ Performs link-time optimizations on relocatable object files.
-xM1 C C++ 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 C C++ Runs only the preprocessor on the named C++ programs, requesting that it generate makefile dependencies and send the result to the standard outputx
-xmaxopt C C++ Limits the level of the opt pragma.
-xmemalign C C++ Specifies the maximum assumed memory alignment and the behavior of misaligned data accesses.
-xmodel C C++ 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 C C++ Includes interface information inside object file and subsequent shared libraries so that the shared library can interface with Java.
-xnolib C C++ Disables linking with default system libraries.
-xnolibmil C C++ Cancels -xlibmil on the command line.
-xnolibmopt C C++ Does not use the math routine library by turning off any previously specified -xlibmopt options.
-xO C C++ Specifies optimization level.
-xopenmp C C++ Enable explicit parallelization with OpenMP directives.
-xpagesize C C++ Set the preferred page size for the stack and the heap.
-xpagesize_heap C C++ Set the preferred page size for the heap.
-xpagesize_stack C C++ Set the preferred page size for the stack.
-xpch C C++ Activates the precompiled-header feature.
-xpchstop C C++ Identifies the last include file to be considered in creating a precompiled-header file.
-xpg C C++ Compiles for profiling with the gprof profiler.
-xprefetch C C++ Enables and adjusts prefetch instructions on those architectures that support prefetch.
-xprefetch_auto_type C C++ 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 C C++ Controls the aggressiveness of automatic insertion of prefetch instructions as determined with -xprefetch=auto.
-xprofile C C++ Collects or optimizes with runtime profiling data.
-xregs C C++ Makes available additional scratch registers for use during compilation.
-xrestrict C C++ Treats pointer-valued function parameters as restricted pointers.
-xs C C++ Allows debugging by dbx without object files.
-xsafe C C++ Allows the compiler to assume that no memory protection violations occur.
-xspace C C++ Does not allow optimizations that increase code size.
-xtarget C C++ Specifies the target system for instruction set and optimization.
-xthreadvar C C++ Works in conjunction with the __thread declaration specifier to take advantage of the compiler's thread-local storage facility.
-xtime C C++ Causes the CC driver to report execution times for the various compilation passes.
-xtrigraphs C C++ Enables or disables recognition of trigraph sequences as defined by the ISO/ANSI C standard.
-xunroll C C++ Enables unrolling of loops where possible.
-xustr C C++ Enables compiler recognition of UTF-16 character strings and literals.
-xvector C C++ Enables automatic generation of calls to the vector library and/or the generation of the SIMD (Single Instruction Multiple Data) instructions.
-xvis C C++ Declares the use of the assembly-language templates defined in the VIS[tm] instruction set Software Developers Kit (VSDK).
-Y C C++ Specifies a new path for the location of compilation components.

ContactAbout SunNewsEmploymentSite MapPrivacyTerms of UseTrademarksCopyright Sun Microsystems, Inc.