C++ preprocessor

GPTKB entity

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