Вместо того, чтобы щелкнуть правой кнопкой мыши по идентификатору макроса, а затем "перейти к определению", можно ли расширять ссылки на макросы и видеть, как выглядит код, который передается компилятору?
Как расширить ссылки на макросы VС++ с помощью Visual Studio?
Ответ 1
"Project + Properties, C/С++, Preprocessor, Preprocess to a File = Yes. Скомпилируйте и откройте файл .i в каталоге сборки.
Ответ 2
Я слышал все возможные отрицательные ответы по теме:
- макросы могут быть расширены без оценки
- Препроцессор должен анализировать также файлы.
- Вложенные макросы могут быть чрезмерно сложными
- условная предварительная обработка может быть сложной
- макросы - это зло, просто избегайте их и т.д.
- и т.д....
Все они верны, но IMO они сталкиваются с реализацией каждодневного программирования.
Фактически, работая над старым проектом C, где макросы, где в основном просто используются как функции, для меня стали иметь решающее значение. Генерирование всех предварительно обработанных файлов с помощью /P работает, но является излишним и занимает время. Мне просто нужен инструмент, который расширяет простой макрос, определенный несколькими строками выше или максимум в другом файле.
Как это сделать?
- В Linux просто используйте GDB и его возможности расширения макросов.
- В окнах я использую https://www.jetbrains.com/resharper-cpp/ интегрированный в Visual Studio
Итак, да, в практическом смысле это возможно.
Ответ 3
Вы можете увидеть расширение макроса во всплывающих подсказках с VS2017. Очень крутая новая функция.