abivan (01.09.2015 14:02, просмотров: 165) ответил rual на Чота кейл такого не знает(( в каком хидере он содержится? Нашёл в #include <stddef.h>, изменил код
тогда сделай через enum + xmacro #define COMMON_STR( X_MACRO ) \
X_MACRO( TamperButton, "Tamper button")\
X_MACRO( GreenLeds, "Green Leds")\
X_MACRO( ProgButton, "Programm button")\
X_MACRO( YellowLeds, "Yellow Leds")\
X_MACRO( JamperON, "Jamper ON")\
X_MACRO( JamperOFF, "Jamper OFF")\
X_MACRO( Power, "Power")\
X_MACRO( DPLS, "DPLS")\
X_MACRO( RSSIMinARR2RF, "Min RSSI ARR->RF")\
X_MACRO( RSSIMinRF2ARR, "Min RSSI RF->ARR")\
X_MACRO( RSSIAverARR2RF, "Aver RSSI ARR->RF")\
X_MACRO( RSSIAverRF2ARR, "Aver RSSI RF->ARR")\
X_MACRO( RSSIMaxARR2RF, "Max RSSI ARR->RF")\
X_MACRO( RSSIMaxRF2ARR, "Max RSSI RF->ARR")\
X_MACRO( RSSIPacketRecive, "RSSI packet recive")
// делаем массив строк
#define EXPAND_AS_RG( x, y ) y,
static const char *crgTestDescription[]={
COMMON_STR( EXPAND_AS_RG )
};
// делаем энум.
#define EXPAND_AS_ENUM( x, y ) en_Test## x,
enum EN_TEST{
COMMON_STR( EXPAND_AS_ENUM )
};
#define ENUM_TEST(x) en_Test## x
....
strcpy(buff,crgTestDescription[ENUM_TEST(TamperButton)]);