Здравствуйте, poilk, Вы писали:
P>Есть код:
P>P>#if (KEYCODE_LENGTH != 1000)
P>#error keycode length changed
P>#endif
P>
P>А есть способ узнать, какое значение в этот момент имеет KEYCODE_LENGTH? И вывести его на экран? Вычисляется это значение вложенными дефайнами из 5 различных файлов и в этом месте как раз 1000 и должно бы получиться. Код в тех файлах менять, к сожалению, нельзя.
P>Помогите, плиз...
outdigit.h:
/*outdigit.h*/
#if DIGIT==0
#pragma message("0")
#elif DIGIT==1
#pragma message("1")
#elif DIGIT==2
#pragma message("2")
#elif DIGIT==3
#pragma message("3")
#elif DIGIT==4
#pragma message("4")
#elif DIGIT==5
#pragma message("5")
#elif DIGIT==6
#pragma message("6")
#elif DIGIT==7
#pragma message("7")
#elif DIGIT==8
#pragma message("8")
#elif DIGIT==9
#pragma message("9")
#endif
outnumber.h:
/*outnumber.h*/
#ifdef DIGIT
#undef DIGIT
#endif
#define DIGIT ((COUNTER)%10)
#include "outdigit.h"
#undef DIGIT
#define DIGIT (((COUNTER)/10)%10)
#include "outdigit.h"
#undef DIGIT
#define DIGIT (((COUNTER)/100)%10)
#include "outdigit.h"
#undef DIGIT
#define DIGIT (((COUNTER)/1000)%10)
#include "outdigit.h"
#undef DIGIT
#define DIGIT (((COUNTER)/10000)%10)
#include "outdigit.h"
#undef DIGIT
#define DIGIT (((COUNTER)/100000)%10)
#include "outdigit.h"
/*...et c.*/
main.c:
#define COUNTER 11*15*37
#include "outnumber.h"
Рулит?