|
gptkbp:instanceOf
|
gptkb:software
gptkb:preprocessor
|
|
gptkbp:basedOn
|
gptkb: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
|
gptkb:C++_compiler
|
|
gptkbp:expansion
|
macros
|
|
gptkbp:handles
|
header files
|
|
gptkbp:implementedIn
|
gptkb:GCC
gptkb:Clang
gptkb:MSVC
|
|
gptkbp:influenced
|
C++ code structure
|
|
gptkbp:influencedBy
|
gptkb: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
|
8
|
|
https://www.w3.org/2000/01/rdf-schema#label
|
C++ preprocessor
|