C ++ Macro Expander - PullRequest
       3

C ++ Macro Expander

5 голосов
/ 05 мая 2011

Иногда я сталкиваюсь с довольно сложными макросами и хотел бы посмотреть, что они будут расширять до заданных параметров (там также есть конкатенации строк).Есть ли какая-нибудь программа, которая будет расширять макросы?

Я знаю о флаге компилятора -E, но как насчет одного файла (или предпочтительно одного макроса?)

Ответы [ 4 ]

4 голосов
/ 05 мая 2011

Eclipse расширит макросы, если вы наведете на них курсор мыши. Для макросов, которые включают другие макросы, Eclipse может даже шаг за шагом раскрывать макросы.

(Вы можете использовать Eclipse для этого, даже если вы обычно используете другую IDE.)

3 голосов
/ 05 мая 2011

Несколько вариантов:
В GCC:

gcc -E filename.c

Использование прекомпилятора компьютеров:

cpp filename.c

В Visual Studio:
Щелкните правой кнопкой мыши файл в обозревателе решений, перейдите в Свойства. В Свойствах конфигурации-> C / C ++ -> Препроцессор & «Создать предварительно обработанный файл»

3 голосов
/ 05 мая 2011

Препроцессор C и C ++ называется cpp на большинстве систем - вы можете использовать его напрямую:

cpp somefile.c

будет предварительно обрабатывать somefile.c, расширяя макросы и записывая результаты в стандартный вывод.Если вы используете компилятор Microsoft:

cl -E somefile.c

сделает то же самое, если у вас есть компилятор в вашей переменной PATH.

1 голос
/ 05 мая 2011

NetBeans IDE позволяет вам видеть, к чему расширяется макрос, удерживая Ctrl + Alt и паря / щелкая макрос.

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