Путеводитель по Руководству Linux

  User  |  Syst  |  Libr  |  Device  |  Files  |  Other  |  Admin  |  Head  |



   gcc    ( 1 )

компилятор C и C ++ проекта GNU (GNU project C and C++ compiler)

  Name  |  Synopsis  |  Description  |  Options  |    Options detail    |  Environment  |  Bugs  |  Note  |  See also  |

Параметры подробно (Options detail)


  Controlling the Kind of Output  |  Compiling C++ Programs  |  Controlling C Dialect  |  Controlling C++ Dialect  |  Controlling Objective-C and Objective-C++ Dialects  |  Control Diagnostic Messages Formatting  |  Request or Suppress Warnings 1  |  Request or Suppress Warnings 2  |  Request or Suppress Warnings 3  |  Debugging Your Program  |  Control Optimization 1  |  Control Optimization 2  |  Control Optimization 3  |  Control Optimization 4  |  Program Instrumentation  |  Controlling the Preprocessor  |  Linking  |  Directory Search  |  Code Generation Conventions  |  GCC Developer  |  Machine-Dependent  |  AArch64  |  Adapteva Epiphany  |  AMD GCN  |  ARC  |  ARM  |  AVR  |  Blackfin  |  C6X  |  CRIS  |  CR16  |  C-SKY  |    Darwin    |  DEC Alpha  |  FR30  |  FT32  |  FRV  |  GNU/Linux  |  H8/300  |  HPPA  |  IA-64  |  LM32  |  M32C  |  M32R/D  |  M680x0  |  MCore  |  MeP  |  MicroBlaze  |  MIPS  |  MMIX  |  MN10300  |  Moxie  |  MSP430  |  NDS32  |  Nios II  |  Nvidia PTX  |  OpenRISC  |  PDP-11  |  picoChip  |  RISC-V  |  RL78  |  IBM RS/6000 and PowerPC  |  RX  |  S/390 and zSeries  |  Score  |  SH  |  Solaris 2  |  SPARC  |  SPU  |  System V  |  TILE-Gx  |  TILEPro  |  V850  |  VAX  |  Visium  |  VMS  |  VxWorks  |  x86 1  |  x86 2  |  x86 Windows  |  Xstormy16  |  Xtensa  |

Darwin

These options are defined for all architectures running the
       Darwin operating system.

       FSF GCC on Darwin does not create "fat" object files; it creates
       an object file for the single architecture that GCC was built to
       target.  Apple's GCC on Darwin does create "fat" files if
       multiple -arch options are used; it does so by running the
       compiler or linker multiple times and joining the results
       together with lipo.

       The subtype of the file created (like ppc7400 or ppc970 or i686)
       is determined by the flags that specify the ISA that GCC is
       targeting, like -mcpu or -march.  The -force_cpusubtype_ALL
       option can be used to override this.

       The Darwin tools vary in their behavior when presented with an
       ISA mismatch.  The assembler, as, only permits instructions to be
       used that are valid for the subtype of the file it is generating,
       so you cannot put 64-bit instructions in a ppc750 object file.
       The linker for shared libraries, /usr/bin/libtool, fails and
       prints an error if asked to create a shared library with a less
       restrictive subtype than its input files (for instance, trying to
       put a ppc970 object file in a ppc7400 library).  The linker for
       executables, ld, quietly gives the executable the most
       restrictive subtype of any of its input files.

       -Fdir
           Add the framework directory dir to the head of the list of
           directories to be searched for header files.  These
           directories are interleaved with those specified by -I
           options and are scanned in a left-to-right order.

           A framework directory is a directory with frameworks in it.
           A framework is a directory with a Headers and/or
           PrivateHeaders directory contained directly in it that ends
           in .framework.  The name of a framework is the name of this
           directory excluding the .framework.  Headers associated with
           the framework are found in one of those two directories, with
           Headers being searched first.  A subframework is a framework
           directory that is in a framework's Frameworks directory.
           Includes of subframework headers can only appear in a header
           of a framework that contains the subframework, or in a
           sibling subframework header.  Two subframeworks are siblings
           if they occur in the same framework.  A subframework should
           not have the same name as a framework; a warning is issued if
           this is violated.  Currently a subframework cannot have
           subframeworks; in the future, the mechanism may be extended
           to support this.  The standard frameworks can be found in
           /System/Library/Frameworks and /Library/Frameworks.  An
           example include looks like "#include <Framework/header.h>",
           where Framework denotes the name of the framework and
           header.h is found in the PrivateHeaders or Headers directory.

       -iframeworkdir
           Like -F except the directory is a treated as a system
           directory.  The main difference between this -iframework and
           -F is that with -iframework the compiler does not warn about
           constructs contained within header files found via dir.  This
           option is valid only for the C family of languages.

       -gused
           Emit debugging information for symbols that are used.  For
           stabs debugging format, this enables
           -feliminate-unused-debug-symbols.  This is by default ON.

       -gfull
           Emit debugging information for all symbols and types.

       -mmacosx-version-min=version
           The earliest version of MacOS X that this executable will run
           on is version.  Typical values of version include 10.1, 10.2,
           and 10.3.9.

           If the compiler was built to use the system's headers by
           default, then the default for this option is the system
           version on which the compiler is running, otherwise the
           default is to make choices that are compatible with as many
           systems and code bases as possible.

       -mkernel
           Enable kernel development mode.  The -mkernel option sets
           -static, -fno-common, -fno-use-cxa-atexit, -fno-exceptions,
           -fno-non-call-exceptions, -fapple-kext, -fno-weak and
           -fno-rtti where applicable.  This mode also sets
           -mno-altivec, -msoft-float, -fno-builtin and -mlong-branch
           for PowerPC targets.

       -mone-byte-bool
           Override the defaults for "bool" so that "sizeof(bool)==1".
           By default "sizeof(bool)" is 4 when compiling for
           Darwin/PowerPC and 1 when compiling for Darwin/x86, so this
           option has no effect on x86.

           Warning: The -mone-byte-bool switch causes GCC to generate
           code that is not binary compatible with code generated
           without that switch.  Using this switch may require
           recompiling all other modules in a program, including system
           libraries.  Use this switch to conform to a non-default data
           model.

       -mfix-and-continue
       -ffix-and-continue
       -findirect-data
           Generate code suitable for fast turnaround development, such
           as to allow GDB to dynamically load .o files into already-
           running programs.  -findirect-data and -ffix-and-continue are
           provided for backwards compatibility.

       -all_load
           Loads all members of static archive libraries.  See man ld(1)
           for more information.

       -arch_errors_fatal
           Cause the errors having to do with files that have the wrong
           architecture to be fatal.

       -bind_at_load
           Causes the output file to be marked such that the dynamic
           linker will bind all undefined references when the file is
           loaded or launched.

       -bundle
           Produce a Mach-o bundle format file.  See man ld(1) for more
           information.

       -bundle_loader executable
           This option specifies the executable that will load the build
           output file being linked.  See man ld(1) for more
           information.

       -dynamiclib
           When passed this option, GCC produces a dynamic library
           instead of an executable when linking, using the Darwin
           libtool command.

       -force_cpusubtype_ALL
           This causes GCC's output file to have the ALL subtype,
           instead of one controlled by the -mcpu or -march option.

       -allowable_client  client_name
       -client_name
       -compatibility_version
       -current_version
       -dead_strip
       -dependency-file
       -dylib_file
       -dylinker_install_name
       -dynamic
       -exported_symbols_list
       -filelist
       -flat_namespace
       -force_flat_namespace
       -headerpad_max_install_names
       -image_base
       -init
       -install_name
       -keep_private_externs
       -multi_module
       -multiply_defined
       -multiply_defined_unused
       -noall_load
       -no_dead_strip_inits_and_terms
       -nofixprebinding
       -nomultidefs
       -noprebind
       -noseglinkedit
       -pagezero_size
       -prebind
       -prebind_all_twolevel_modules
       -private_bundle
       -read_only_relocs
       -sectalign
       -sectobjectsymbols
       -whyload
       -seg1addr
       -sectcreate
       -sectobjectsymbols
       -sectorder
       -segaddr
       -segs_read_only_addr
       -segs_read_write_addr
       -seg_addr_table
       -seg_addr_table_filename
       -seglinkedit
       -segprot
       -segs_read_only_addr
       -segs_read_write_addr
       -single_module
       -static
       -sub_library
       -sub_umbrella
       -twolevel_namespace
       -umbrella
       -undefined
       -unexported_symbols_list
       -weak_reference_mismatches
       -whatsloaded
           These options are passed to the Darwin linker.  The Darwin
           linker man page describes them in detail.