Программа препроцессора, связанная с g ++, похожа на программу cpp в gcc [duplicate].

0

Я читал эту книгу - "Введение в GCC" Брайана Гоффа, где он рассказывает о препроцессоре cpp GNU C и о том, как он предоставляется в виде отдельного пакета, даже если он интегрирован в компилятор.

Мне было интересно, есть ли подобная команда, которая предоставляется как часть пакета g++, который может показать мне все расширенные макросы перед компиляцией исходного кода.

Я знаю, что есть опция -E поддерживаемая как gcc и g++ которая останавливается после этапа предварительной обработки, но было любопытно, если в g++ есть что-то похожее на cpp g++

  • 0
    Вы имеете в виду как с ld , что его можно назвать отдельной программой?
  • 0
    @πάνταῥεῖ πάνταῥεῖ Да. Как отдельная программа
Показать ещё 11 комментариев
Теги:
gcc

1 ответ

2
Лучший ответ

На уровне предварительной обработки между этими двумя языками нет большой разницы. Это просто вопрос о том, как препроцессор разрешает включать (например, __cplusplus правильные пути включения) и определяя определенные макросы (например, __cplusplus). Таким образом, та же самая программа, которую вы используете для расширения кода препроцессора на C, должна выполнять работу для C++.

  • 0
    Лексирование также отличается в C и C ++, особенно с шестнадцатеричными литералами с плавающей точкой в C99 и необработанными строковыми литералами и строковыми литералами в C ++ 11. Учитывая #define X(x) "abc"x , старый код часто ожидал, что X("def") расширится до двух строковых литералов, которые будут объединены, как в C, но C ++ больше не работает так.
  • 0
    Команда cpp не работала с моей программой на c ++. Он вышел с ошибкой не смог найти файл iostream.h. Это заставило меня думать, что есть отдельная программа. Посмотрим, как запустить его с кодом CPP

Ещё вопросы

Сообщество Overcoder
Наверх
Меню