В макросе C можно ли загладить вставленный токен? Например, в настоящее время у меня есть следующий макрос:
#define TEST(name, keyword) \
test_##name:
TEST_##keyword##_KEYWORD
Я бы вызвал это следующим образом:
TEST(test1, TEST1)
который даст следующее:
test_test1:
TEST_TEST1_KEYWORD
Теперь вместо того, чтобы вводить одно и то же имя дважды (один раз со всеми строчными символами и снова со всеми символами верхнего регистра), есть ли способ, которым я мог бы сделать одно из следующих, и либо изменить токен на все заглавные буквы или все строчные буквы?
TEST(test1) or TEST(TEST1)
Спасибо, Райан