Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions




Red Hat Enterprise Linux 4

Legal Notice
Table of Contents
1. Introduction
2. Programming Languages Supported by GCC
3. Language Standards Supported by GCC
4. GCC Command Options
4.1. Option Summary
4.2. Options Controlling the Kind of Output
4.3. Compiling C++ Programs
4.4. Options Controlling C Dialect
4.5. Options Controlling C++ Dialect
4.6. Options Controlling Objective-C Dialect
4.7. Options to Control Diagnostic Messages Formatting
4.8. Options to Request or Suppress Warnings
4.9. Options for Debugging Your Program or GCC
4.10. Options That Control Optimization
4.11. Options Controlling the Preprocessor
4.12. Passing Options to the Assembler
4.13. Options for Linking
4.14. Options for Directory Search
4.15. Specifying subprocesses and the switches to pass to them
4.16. Specifying Target Machine and Compiler Version
4.17. Hardware Models and Configurations
4.17.1. IBM RS/6000 and PowerPC Options
4.17.2. Darwin Options
4.17.3. Intel 386 and AMD x86-64 Options
4.17.4. IA-64 Options
4.17.5. S/390 and zSeries Options
4.18. Options for Code Generation Conventions
4.19. Environment Variables Affecting GCC
4.20. Using Precompiled Headers
4.21. Running Protoize
5. C Implementation-defined behavior
5.1. Translation
5.2. Environment
5.3. Identifiers
5.4. Characters
5.5. Integers
5.6. Floating point
5.7. Arrays and pointers
5.8. Hints
5.9. Structures, unions, enumerations, and bit-fields
5.10. Qualifiers
5.11. Preprocessing directives
5.12. Library functions
5.13. Architecture
5.14. Locale-specific behavior
6. Extensions to the C Language Family
6.1. Statements and Declarations in Expressions
6.2. Locally Declared Labels
6.3. Labels as Values
6.4. Nested Functions
6.5. Constructing Function Calls
6.6. Referring to a Type with typeof
6.7. Generalized Lvalues
6.8. Conditionals with Omitted Operands
6.9. Double-Word Integers
6.10. Complex Numbers
6.11. Hex Floats
6.12. Arrays of Length Zero
6.13. Structures With No Members
6.14. Arrays of Variable Length
6.15. Macros with a Variable Number of Arguments.
6.16. Slightly Looser Rules for Escaped Newlines
6.17. Non-Lvalue Arrays May Have Subscripts
6.18. Arithmetic on void- and Function-Pointers
6.19. Non-Constant Initializers
6.20. Compound Literals
6.21. Designated Initializers
6.22. Case Ranges
6.23. Cast to a Union Type
6.24. Mixed Declarations and Code
6.25. Declaring Attributes of Functions
6.26. Attribute Syntax
6.27. Prototypes and Old-Style Function Definitions
6.28. C++ Style Comments
6.29. Dollar Signs in Identifier Names
6.30. The Character [ESC] in Constants
6.31. Inquiring on Alignment of Types or Variables
6.32. Specifying Attributes of Variables
6.32.1. M32R/D Variable Attributes
6.32.2. i386 Variable Attributes
6.33. Specifying Attributes of Types
6.33.1. i386 Type Attributes
6.34. An Inline Function is As Fast As a Macro
6.35. Assembler Instructions with C Expression Operands
6.35.1. Size of an asm
6.35.2. i386 floating point asm operands
6.36. Constraints for asmOperands
6.36.1. Simple Constraints
6.36.2. Multiple Alternative Constraints
6.36.3. Constraint Modifier Characters
6.36.4. Constraints for Particular Machines
6.37. Controlling Names Used in Assembler Code
6.38. Variables in Specified Registers
6.38.1. Defining Global Register Variables
6.38.2. Specifying Registers for Local Variables
6.39. Alternate Keywords
6.40. Incomplete enumTypes
6.41. Function Names as Strings
6.42. Getting the Return or Frame Address of a Function
6.43. Using vector instructions through built-in functions
6.44. Object Size Checking Builtins
6.45. Other built-in functions provided by GCC
6.46. Built-in Functions Specific to Particular Target Machines
6.46.1. X86 Built-in Functions
6.46.2. PowerPC AltiVec Built-in Functions
6.47. Pragmas Accepted by GCC
6.47.1. RS/6000 and PowerPC Pragmas
6.47.2. Darwin Pragmas
6.48. Unnamed struct/union fields within structs/unions.
6.49. Thread-Local Storage
6.49.1. ISO/IEC 9899:1999 Edits for Thread-Local Storage
6.49.2. ISO/IEC 14882:1998 Edits for Thread-Local Storage
7. Extensions to the C++ Language
7.1. Minimum and Maximum Operators in C++
7.2. When is a Volatile Object Accessed?
7.3. Restricting Pointer Aliasing
7.4. Vague Linkage
7.5. #pragma interface and implementation
7.6. Where's the Template?
7.7. Extracting the function pointer from a bound pointer to member function
7.8. C++-Specific Variable, Function, and Type Attributes
7.9. Strong Using
7.10. Offsetof
7.11. Java Exceptions
7.12. Deprecated Features
7.13. Backwards Compatibility
8. GNU Objective-C runtime features
8.1. +load: Executing code before main
8.1.1. What you can and what you cannot do in +load
8.2. Type encoding
8.3. Garbage Collection
8.4. Constant string objects
8.5. compatibility_alias
9. Binary Compatibility
10. gcov--a Test Coverage Program
10.1. Introduction to gcov
10.2. Invoking gcov
10.3. Using gcovwith GCC Optimization
10.4. Brief description of gcovdata files
11. Known Causes of Trouble with GCC
11.1. Actual Bugs We Haven't Fixed Yet
11.2. Cross-Compiler Problems
11.3. Interoperation
11.4. Problems Compiling Certain Programs
11.5. Incompatibilities of GCC
11.6. Fixed Header Files
11.7. Standard Libraries
11.8. Disappointments and Misunderstandings
11.9. Common Misunderstandings with GNU C++
11.9.1. Declare andDefine Static Members
11.9.2. Name lookup, templates, and accessing members of base classes
11.9.3. Temporaries May Vanish Before You Expect
11.9.4. Implicit Copy-Assignment for Virtual Bases
11.10. Caveats of using protoize
11.11. Certain Changes We Don't Want to Make
11.12. Warning Messages and Error Messages
12. Funding Free Software
Option Index
Keyword Index
Using the GNU Compiler Collection (GCC)

  Published under the terms of the GNU General Public License Design by Interspire