Как посмотреть, как выглядит файл после предварительной обработки? - PullRequest
3 голосов
/ 17 февраля 2011

Как я могу проверить результаты предварительной обработки? Например, скажем, у меня есть следующий код:

#define CONCATENATE(X, Y) X ## Y
#define STRING_1 First
#define STRING_2 Second
#define STRING_3 CONCATENATE(STRING_1, STRING_2)

Есть ли способ убедиться, что STRING_3 будет расширен до FirstSecond позже в программе?

Ответы [ 2 ]

8 голосов
/ 17 февраля 2011

Каждый компилятор должен предоставлять переключатель для сохранения предварительно обработанного кода

  • gcc: -E
  • MS Visual Studio: Keep preprocessed files в настройках или /P, переключатель

Держу пари, что для других компиляторов вы найдете подходящий переключатель в документации

2 голосов
/ 17 февраля 2011

Я думаю, что лучше всего запустить файл C ++ под g++ -E <file> -o <file>.out, а затем проверить результат таким образом.

Я предполагаю, что вы имеете в виду проверить это как в отладке - очевидно, вы не можете проверить это во время выполнения, так как информация препроцессора не будет существовать.

...