У меня есть куча макросов помощника отладки printf, и было бы неплохо не указывать тип, есть ли что-нибудь, что вы можете сделать, чтобы разрешить что-то вроде перегрузки макросов в c (может быть специфично для gcc, если он доступен в gcc 4,3). Я подумал, может быть, typeof, но, видимо, это не работает.
пример макроса (у меня также есть кое-какие терминальные цвета ascii, которые я не могу вспомнить из макушки головы)
#ifdef _DEBUG
#define DPRINT_INT(x) printf("int %s is equal to %i at line %i",#x,x,__LINE__);
.
.
.
#else
#define DPRINT_INT(x)
.
.
.
#endif