Statements (49)
Predicate | Object |
---|---|
gptkbp:instanceOf |
gptkb:software
preprocessor |
gptkbp:basedOn |
C preprocessor
|
gptkbp:cause |
difficult debugging
name collisions macro pitfalls |
gptkbp:directive |
#error
#define #elif #else #endif #if #ifdef #ifndef #include #line #pragma #undef |
gptkbp:enables |
debugging code
platform-specific code |
gptkbp:executedBefore |
C++ compiler
|
gptkbp:expansion |
macros
|
gptkbp:handles |
header files
|
https://www.w3.org/2000/01/rdf-schema#label |
C++ preprocessor
|
gptkbp:implementedIn |
gptkb:GCC
gptkb:Clang gptkb:MSVC |
gptkbp:influenced |
C++ code structure
|
gptkbp:influencedBy |
C preprocessor
|
gptkbp:introducedIn |
gptkb:C++98
|
gptkbp:limitation |
no scope awareness
no type checking textual substitution only |
gptkbp:output |
preprocessed source code
|
gptkbp:partOf |
C++ compilation process
|
gptkbp:provides |
conditional compilation
file inclusion macro expansion line control |
gptkbp:removes |
comments
|
gptkbp:standardizedBy |
gptkb:ISO_C++_standard
|
gptkbp:usedFor |
code generation
cross-platform development conditional compilation feature toggling header guards |
gptkbp:usedIn |
gptkb:C++_programming_language
|
gptkbp:bfsParent |
gptkb:Boost.Wave
|
gptkbp:bfsLayer |
6
|