Есть ли способ перечислить символы, которые определены в C / C ++ #define

Я использую eclipse и продолжаю получать неопределенную ссылку на ошибку `__assert_func ‘в моем коде c / c ++.

Мне интересно, есть ли способ сказать, что определяется (# define **). Я могу вручную просмотреть свои файлы, но я работаю со многими из них, и это займет некоторое время. Есть ли опция компилятора или инструмент, который может перечислить их для меня?

Спасибо,

Сэм

0

Решение

Это зависит от компилятора. Вы можете прочитать это, если вы используете GCC.

Препроцессор дампа GCC определяет

3

Другие решения

Неопределенная ссылка не имеет ничего общего с #defines. Это ошибка компоновщика, возможно, вы забыли связать файл .lib / .a.

1

Обычно вы можете получить вывод препроцессора от компилятора — например, g++ -E myprog.cpp > myprog.i, Я думаю CL -E делает то же самое в Visual Studio, и другие компиляторы, как правило, имеют аналогичную опцию.

Звучит так, будто ваша недостающая функция является частью ASSERT или же assert макро.

1
По вопросам рекламы [email protected]