c препроцессор для создания шаблонов - подавление лишних артефактов - PullRequest
0 голосов
/ 04 августа 2020

Команда:

% cat <<EOF | cpp -DVERBOSE=3
#if VERBOSE >= 2
  printf("trace message");
#endif
EOF

Вывод:

# 1 "<stdin>"
# 1 "<built-in>" 1
# 1 "<built-in>" 3
# 362 "<built-in>" 3
# 1 "<command line>" 1
# 1 "<built-in>" 2
# 1 "<stdin>" 2

  printf("trace message");

Кто-нибудь знает, как подавить эти строки, например # 1 "<stding>" 2, мне нужно включить некоторые инструкции, такие как # dockerfile syntax=experiemental, в введите Dockerfile.

1 Ответ

1 голос
/ 04 августа 2020

как подавить такие строки, как # 1 "" 2

From g cc manual :

- P

Запретить создание маркеров линий в выводе препроцессора. Это может быть полезно при запуске препроцессора для чего-то, что не является кодом C, и будет отправлено программе, которая может быть запутана маркерами линий.

cpp -P ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...