Я хочу распечатать (или иначе установить) тип некоторой переменной в моей программе. Существует ли хороший способ сделать это? Пользой я имею в виду путь, который работает, даже если это означает намеренно бросать ошибки компилятора.
Например:
client.c:55: error: incompatible types in assignment
ошибка, которую я получаю прямо сейчас. То, что я ХОЧУ, является этим, чтобы сказать мне что-то как:
client.c:55: error: attempting to assign type struct a to type struct b
или функция, как которая я могу использовать так:
printf(gettype(x));
который произвел бы:
struct b
Я полагаюсь на Resharper, чтобы проанализировать, что для меня, и жаль, что визуальная студия не отправляется с такой аккуратной особенностью.
-121--3375300-Попробуйте отладить с помощью GDB, он будет распечатать все свойства, связанные с переменными, включая его тип. Но ваша программа должна компилировать перед использованием GDB.
в C Вы предоставляете тип, когда вы объявляете переменную. Это единственная информация, которую имеет компилятор, когда он жалуется на задание (то есть, он не будет использовать тип выполнения объекта, но статический тип у вас есть).
Перейти к коду, найдите Line 55, проверьте, какие переменные есть и найдите типы в коде. В C нет даже перегрузок, типы как статические и простые, так как он попадает на любой язык.
Если вы используете GCC или совместимый GCC компилятор, вы можете использовать (очевидно, нестандартный и не портативный) ключевое слово Typeof , которое работает размер.