Препроцессор MSVC ++ - Как вывести значение define с помощью макроса компилятора? - PullRequest
2 голосов
/ 18 июня 2010

я пробовал #error MY_DEFINE Но все, что он сделал, это повторил "MY_DEFINE", когда он выдал ошибку.

Спасибо!

1 Ответ

3 голосов
/ 18 июня 2010

Вы можете указать компилятору сохранить выходные данные препроцессора (/ E или / EP), а затем просмотреть этот файл. Обычно так я отлаживаю проблемы, связанные с расширением макроса.

Если вы пытаетесь создать какую-нибудь классную возможность для ошибок в библиотеке, вам может не повезти. Я думаю, вам будет сложно заставить препроцессор развернуть макрос в сообщение времени компиляции. Возможно, если вы объединили шаблонный трюк, в котором использовался макрос, вы можете получить его в загадочном сообщении об ошибке компилятора.

...