Code: Select all
#if ThisType == char
...
#endif
Code: Select all
#define THISTYPE_IS_CHAR /* if it is true */
...
#if defined THISTYPE_IS_CHAR
...
#endif
Vovka wrote:Не знаю вашей задачи, но если у вас C++, а не C, то может вместо условной компиляции лучше шаблоны со специализацией использовать?
Code: Select all
If TypeOf(myVar) ....
Code: Select all
./myprogramm -v
Code: Select all
./мyprogramm -H
Code: Select all
билд 143: исправил баг с сокетами
билд 145: добавил новый баг
...
Code: Select all
#define HISTORY #include myhistory.file
Code: Select all
#define char_val 1
#define double_val 2
#define VAL_(x) x##_val
#define VAL(x) VAL_(x)
#if VAL(ThisType) == VAL(char)
ThisType == char
#endif
#if VAL(ThisType) == VAL(double)
ThisType == double
#endif
К сожалению, если мы говорим о С\С++, то возможности прекомпилятора достаточно бедны, в частности из-за однопроходности оного.