Spec-Zone.ru › GCC 4 CPP

The C Preprocessor

Table of Contents

  • The C Preprocessor
  • 1 Overview
    • 1.1 Character sets
    • 1.2 Initial processing
    • 1.3 Tokenization
    • 1.4 The preprocessing language
  • 2 Header Files
    • 2.1 Include Syntax
    • 2.2 Include Operation
    • 2.3 Search Path
    • 2.4 Once-Only Headers
    • 2.5 Alternatives to Wrapper #ifndef
    • 2.6 Computed Includes
    • 2.7 Wrapper Headers
    • 2.8 System Headers
  • 3 Macros
    • 3.1 Object-like Macros
    • 3.2 Function-like Macros
    • 3.3 Macro Arguments
    • 3.4 Stringification
    • 3.5 Concatenation
    • 3.6 Variadic Macros
    • 3.7 Predefined Macros
      • 3.7.1 Standard Predefined Macros
      • 3.7.2 Common Predefined Macros
      • 3.7.3 System-specific Predefined Macros
      • 3.7.4 C++ Named Operators
    • 3.8 Undefining and Redefining Macros
    • 3.9 Directives Within Macro Arguments
    • 3.10 Macro Pitfalls
      • 3.10.1 Misnesting
      • 3.10.2 Operator Precedence Problems
      • 3.10.3 Swallowing the Semicolon
      • 3.10.4 Duplication of Side Effects
      • 3.10.5 Self-Referential Macros
      • 3.10.6 Argument Prescan
      • 3.10.7 Newlines in Arguments
  • 4 Conditionals
    • 4.1 Conditional Uses
    • 4.2 Conditional Syntax
      • 4.2.1 Ifdef
      • 4.2.2 If
      • 4.2.3 Defined
      • 4.2.4 Else
      • 4.2.5 Elif
    • 4.3 Deleted Code
  • 5 Diagnostics
  • 6 Line Control
  • 7 Pragmas
  • 8 Other Directives
  • 9 Preprocessor Output
  • 10 Traditional Mode
    • 10.1 Traditional lexical analysis
    • 10.2 Traditional macros
    • 10.3 Traditional miscellany
    • 10.4 Traditional warnings
  • 11 Implementation Details
    • 11.1 Implementation-defined behavior
    • 11.2 Implementation limits
    • 11.3 Obsolete Features
      • 11.3.1 Assertions
    • 11.4 Differences from previous versions
  • 12 Invocation
  • 13 Environment Variables
  • GNU Free Documentation License
    • ADDENDUM: How to use this License for your documents
  • Index of Directives
  • Option Index
  • Concept Index

The C Preprocessor

The C preprocessor implements the macro language used to transform C, C++, and Objective-C programs before they are compiled. It can also be useful on its own.

  • Overview
  • Header Files
  • Macros
  • Conditionals
  • Diagnostics
  • Line Control
  • Pragmas
  • Other Directives
  • Preprocessor Output
  • Traditional Mode
  • Implementation Details
  • Invocation
  • Environment Variables
  • GNU Free Documentation License
  • Index of Directives
  • Option Index
  • Concept Index

--- The Detailed Node Listing ---

Overview

  • Character sets
  • Initial processing
  • Tokenization
  • The preprocessing language

Header Files

  • Include Syntax
  • Include Operation
  • Search Path
  • Once-Only Headers
  • Alternatives to Wrapper #ifndef
  • Computed Includes
  • Wrapper Headers
  • System Headers

Macros

  • Object-like Macros
  • Function-like Macros
  • Macro Arguments
  • Stringification
  • Concatenation
  • Variadic Macros
  • Predefined Macros
  • Undefining and Redefining Macros
  • Directives Within Macro Arguments
  • Macro Pitfalls

Predefined Macros

  • Standard Predefined Macros
  • Common Predefined Macros
  • System-specific Predefined Macros
  • C++ Named Operators

Macro Pitfalls

  • Misnesting
  • Operator Precedence Problems
  • Swallowing the Semicolon
  • Duplication of Side Effects
  • Self-Referential Macros
  • Argument Prescan
  • Newlines in Arguments

Conditionals

  • Conditional Uses
  • Conditional Syntax
  • Deleted Code

Conditional Syntax

  • Ifdef
  • If
  • Defined
  • Else
  • Elif

Implementation Details

  • Implementation-defined behavior
  • Implementation limits
  • Obsolete Features
  • Differences from previous versions

Obsolete Features

  • Obsolete Features

Copyright © 1987-2015 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation. A copy of the license is included in the section entitled “GNU Free Documentation License”.

This manual contains no Invariant Sections. The Front-Cover Texts are (a) (see below), and the Back-Cover Texts are (b) (see below).

(a) The FSF's Front-Cover Text is:

A GNU Manual

(b) The FSF's Back-Cover Text is:

You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development.

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-4.9.4/cpp/index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API