GNU cpp позволяет вам преобразовать параметры макроса в строки, подобные так
#define STR(x) #x
Затем STR (привет)
заменяется на "привет"
Но как превратить макрос (не параметр макроса) в строку?
Допустим, у меня есть макрос CONSTANT с некоторым значением, например
#define CONSTANT 42
Это не работает: STR (CONSTANT)
. Это дает «КОНСТАНТА»
, что не является тем, что нам нужно.