Опция -dM
:
Вместо нормального вывода генерируем
список директив #define для всех
макросы, определенные во время
исполнение препроцессора,
включая предопределенные макросы. это
дает вам возможность узнать, что является
предопределено в вашей версии
препроцессор.
Опция -E
:
Останов после стадии предварительной обработки; делать
не правильно запустить компилятор.
вывод в виде предварительно обработанных
исходный код, который отправляется на
стандартный вывод.
Опция -c
вызывает компиляцию компилятора, но не ссылку. Это излишне с опцией -E.
Одиночный -
указывает компилятору читать его входные данные из стандартного ввода.
Таким образом, команда выводит пустой поток на stdout
, передает этот пустой поток на g++
, который затем читает пустой поток, но запускает только препроцессор, которому было сказано игнорировать ввод (пустой) и вывод полный список определенных макросов препроцессора.