how eclipse cdt find the include and macro

eclipse CDT find the include and macro from below two method:
1. Built-in Settings. CDT will try to detect built-in compiler symbols and
include paths running the compiler with special options and parse the output
of this special run. Most compilers provide such an option to print built-in
include paths and symbols. Built-in settings are implied and do not get passed
to compiler during regular compilation.
2. Build Output Parser (BOP). Another method that CDT employs is to analyze
build output of the regular build with Build Output Parser. Often, include
paths are supplied to the compiler with -I options, and macros with -D options
and BOP will try to find those in the output. That method relies on verbose
build output of your build where all these options are actually printed by
make.