the use of the GNU compilers

朴灿烈づ我的快乐病毒、 2021-12-09 01:21 359阅读 0赞

Short Contents

  • Introduction
  • 1 Programming Languages Supported by GCC
  • 2 Language Standards Supported by GCC
  • 3 GCC Command Options
  • 4 C Implementation-defined behavior
  • 5 Extensions to the C Language Family
  • 6 Extensions to the C++ Language
  • 7 GNU Objective-C runtime features
  • 8 Binary Compatibility
  • 9gcov—a Test Coverage Program
  • 10 Known Causes of Trouble with GCC
  • 11 Reporting Bugs
  • 12 How To Get Help with GCC
  • 13 Contributing to GCC Development
  • Funding Free Software
  • The GNU Project and GNU/Linux
  • GNU GENERAL PUBLIC LICENSE
  • GNU Free Documentation License
  • Contributors to GCC
  • Option Index
  • Keyword Index

Table of Contents

  • Introduction
  • 1 Programming Languages Supported by GCC
  • 2 Language Standards Supported by GCC
  • 3 GCC Command Options

    • 3.1 Option Summary
    • 3.2 Options Controlling the Kind of Output
    • 3.3 Compiling C++ Programs
    • 3.4 Options Controlling C Dialect
    • 3.5 Options Controlling C++ Dialect
    • 3.6 Options Controlling Objective-C Dialect
    • 3.7 Options to Control Diagnostic Messages Formatting
    • 3.8 Options to Request or Suppress Warnings
    • 3.9 Options for Debugging Your Program or GCC
    • 3.10 Options That Control Optimization
    • 3.11 Options Controlling the Preprocessor
    • 3.12 Passing Options to the Assembler
    • 3.13 Options for Linking
    • 3.14 Options for Directory Search
    • 3.15 Specifying subprocesses and the switches to pass to them
    • 3.16 Specifying Target Machine and Compiler Version
    • 3.17 Hardware Models and Configurations

      • 3.17.1 M680x0 Options
      • 3.17.2 M68hc1x Options
      • 3.17.3 VAX Options
      • 3.17.4 SPARC Options
      • 3.17.5 ARM Options
      • 3.17.6 MN10300 Options
      • 3.17.7 M32R/D Options
      • 3.17.8 IBM RS/6000 and PowerPC Options
      • 3.17.9 Darwin Options
      • 3.17.10 MIPS Options
      • 3.17.11 Intel 386 and AMD x86-64 Options
      • 3.17.12 HPPA Options
      • 3.17.13 Intel 960 Options
      • 3.17.14 DEC Alpha Options
      • 3.17.15 DEC Alpha/VMS Options
      • 3.17.16 H8/300 Options
      • 3.17.17 SH Options
      • 3.17.18 Options for System V
      • 3.17.19 TMS320C3x/C4x Options
      • 3.17.20 V850 Options
      • 3.17.21 ARC Options
      • 3.17.22 NS32K Options
      • 3.17.23 AVR Options
      • 3.17.24 MCore Options
      • 3.17.25 IA-64 Options
      • 3.17.26 D30V Options
      • 3.17.27 S/390 and zSeries Options
      • 3.17.28 CRIS Options
      • 3.17.29 MMIX Options
      • 3.17.30 PDP-11 Options
      • 3.17.31 Xstormy16 Options
      • 3.17.32 FRV Options
      • 3.17.33 Xtensa Options
    • 3.18 Options for Code Generation Conventions
    • 3.19 Environment Variables Affecting GCC
    • 3.20 Using Precompiled Headers
    • 3.21 Running Protoize
  • 4 C Implementation-defined behavior

    • 4.1 Translation
    • 4.2 Environment
    • 4.3 Identifiers
    • 4.4 Characters
    • 4.5 Integers
    • 4.6 Floating point
    • 4.7 Arrays and pointers
    • 4.8 Hints
    • 4.9 Structures, unions, enumerations, and bit-fields
    • 4.10 Qualifiers
    • 4.11 Preprocessing directives
    • 4.12 Library functions
    • 4.13 Architecture
    • 4.14 Locale-specific behavior
  • 5 Extensions to the C Language Family

    • 5.1 Statements and Declarations in Expressions
    • 5.2 Locally Declared Labels
    • 5.3 Labels as Values
    • 5.4 Nested Functions
    • 5.5 Constructing Function Calls
    • 5.6 Referring to a Type with typeof
    • 5.7 Generalized Lvalues
    • 5.8 Conditionals with Omitted Operands
    • 5.9 Double-Word Integers
    • 5.10 Complex Numbers
    • 5.11 Hex Floats
    • 5.12 Arrays of Length Zero
    • 5.13 Structures With No Members
    • 5.14 Arrays of Variable Length
    • 5.15 Macros with a Variable Number of Arguments.
    • 5.16 Slightly Looser Rules for Escaped Newlines
    • 5.17 Non-Lvalue Arrays May Have Subscripts
    • 5.18 Arithmetic on void- and Function-Pointers
    • 5.19 Non-Constant Initializers
    • 5.20 Compound Literals
    • 5.21 Designated Initializers
    • 5.22 Case Ranges
    • 5.23 Cast to a Union Type
    • 5.24 Mixed Declarations and Code
    • 5.25 Declaring Attributes of Functions
    • 5.26 Attribute Syntax
    • 5.27 Prototypes and Old-Style Function Definitions
    • 5.28 C++ Style Comments
    • 5.29 Dollar Signs in Identifier Names
    • 5.30 The Character in Constants
    • 5.31 Inquiring on Alignment of Types or Variables
    • 5.32 Specifying Attributes of Variables

      • 5.32.1 M32R/D Variable Attributes
      • 5.32.2 i386 Variable Attributes
    • 5.33 Specifying Attributes of Types

      • 5.33.1 i386 Type Attributes
    • 5.34 An Inline Function is As Fast As a Macro
    • 5.35 Assembler Instructions with C Expression Operands

      • 5.35.1 Size of an asm
      • 5.35.2 i386 floating point asm operands
    • 5.36 Constraints for asm Operands

      • 5.36.1 Simple Constraints
      • 5.36.2 Multiple Alternative Constraints
      • 5.36.3 Constraint Modifier Characters
      • 5.36.4 Constraints for Particular Machines
    • 5.37 Controlling Names Used in Assembler Code
    • 5.38 Variables in Specified Registers

      • 5.38.1 Defining Global Register Variables
      • 5.38.2 Specifying Registers for Local Variables
    • 5.39 Alternate Keywords
    • 5.40 Incomplete enum Types
    • 5.41 Function Names as Strings
    • 5.42 Getting the Return or Frame Address of a Function
    • 5.43 Using vector instructions through built-in functions
    • 5.44 Other built-in functions provided by GCC
    • 5.45 Built-in Functions Specific to Particular Target Machines

      • 5.45.1 Alpha Built-in Functions
      • 5.45.2 ARM Built-in Functions
      • 5.45.3 X86 Built-in Functions
      • 5.45.4 PowerPC AltiVec Built-in Functions
    • 5.46 Pragmas Accepted by GCC

      • 5.46.1 ARM Pragmas
      • 5.46.2 RS/6000 and PowerPC Pragmas
      • 5.46.3 Darwin Pragmas
      • 5.46.4 Solaris Pragmas
      • 5.46.5 Tru64 Pragmas
    • 5.47 Unnamed struct/union fields within structs/unions.
    • 5.48 Thread-Local Storage

      • 5.48.1 ISO/IEC 9899:1999 Edits for Thread-Local Storage
      • 5.48.2 ISO/IEC 14882:1998 Edits for Thread-Local Storage
  • 6 Extensions to the C++ Language

    • 6.1 Minimum and Maximum Operators in C++
    • 6.2 When is a Volatile Object Accessed?
    • 6.3 Restricting Pointer Aliasing
    • 6.4 Vague Linkage
    • 6.5 #pragma interface and implementation
    • 6.6 Where’s the Template?
    • 6.7 Extracting the function pointer from a bound pointer to member function
    • 6.8 C++-Specific Variable, Function, and Type Attributes
    • 6.9 Strong Using
    • 6.10 Offsetof
    • 6.11 Java Exceptions
    • 6.12 Deprecated Features
    • 6.13 Backwards Compatibility
  • 7 GNU Objective-C runtime features

    • 7.1 +load: Executing code before main

      • 7.1.1 What you can and what you cannot do in +load
    • 7.2 Type encoding
    • 7.3 Garbage Collection
    • 7.4 Constant string objects
    • 7.5 compatibility_alias
  • 8 Binary Compatibility
  • 9gcov—a Test Coverage Program

    • 9.1 Introduction togcov
    • 9.2 Invoking gcov
    • 9.3 Usinggcovwith GCC Optimization
    • 9.4 Brief description ofgcovdata files
  • 10 Known Causes of Trouble with GCC

    • 10.1 Actual Bugs We Haven’t Fixed Yet
    • 10.2 Cross-Compiler Problems
    • 10.3 Interoperation
    • 10.4 Problems Compiling Certain Programs
    • 10.5 Incompatibilities of GCC
    • 10.6 Fixed Header Files
    • 10.7 Standard Libraries
    • 10.8 Disappointments and Misunderstandings
    • 10.9 Common Misunderstandings with GNU C++

      • 10.9.1 Declare and Define Static Members
      • 10.9.2 Name lookup, templates, and accessing members of base classes
      • 10.9.3 Temporaries May Vanish Before You Expect
      • 10.9.4 Implicit Copy-Assignment for Virtual Bases
    • 10.10 Caveats of usingprotoize
    • 10.11 Certain Changes We Don’t Want to Make
    • 10.12 Warning Messages and Error Messages
  • 11 Reporting Bugs

    • 11.1 Have You Found a Bug?
    • 11.2 How and where to Report Bugs
  • 12 How To Get Help with GCC
  • 13 Contributing to GCC Development
  • Funding Free Software
  • The GNU Project and GNU/Linux
  • GNU GENERAL PUBLIC LICENSE

    • Preamble
    • How to Apply These Terms to Your New Programs
  • GNU Free Documentation License

    • ADDENDUM: How to use this License for your documents
  • Contributors to GCC
  • Option Index
  • Keyword Index

    Next: G++ and GCC, Up: (DIR)


Introduction

This manual documents how to use the GNU compilers, as well as their features and incompatibilities, and how to report bugs. It corresponds to GCC version 3.4.6. The internals of the GNU compilers, including how to port them to new targets and some information about how to write front ends for new languages, are documented in a separate manual. See Introduction.

  • G++ and GCC: You can compile C or C++ programs.
  • Standards: Language standards supported by GCC.
  • Invoking GCC: Command options supported by `gcc’.
  • C Implementation: How GCC implements the ISO C specification.
  • C Extensions: GNU extensions to the C language family.
  • C++ Extensions: GNU extensions to the C++ language.
  • Objective-C: GNU Objective-C runtime features.
  • Compatibility: Binary Compatibility
  • Gcov:gcov-—a test coverage program.
  • Trouble: If you have trouble using GCC.
  • Bugs: How, why and where to report bugs.
  • Service: How to find suppliers of support for GCC.
  • Contributing: How to contribute to testing and developing GCC.
  • Funding: How to help assure funding for free software.
  • GNU Project: The GNU Project and GNU/Linux.
  • Copying: GNU General Public License says how you can copy and share GCC.
  • GNU Free Documentation License: How you can copy and share this manual.
  • Contributors: People who have contributed to GCC.
  • Option Index: Index to command line options.
  • Keyword Index: Index of concepts and symbol names.

trackback: http://gcc.gnu.org/onlinedocs/gcc-3.4.6/gcc/index.html\#toc\_Invoking-GCC

转载于:https://www.cnblogs.com/JohnShao/archive/2011/10/10/2206570.html

发表评论

表情:
评论列表 (有 0 条评论,359人围观)

还没有评论,来说两句吧...

相关阅读