GNU の cpp を使用すると、マクロパラメーターを次のように文字列に変換できます。
#define STR(x) #x
次にSTR(hi)
、"hi"
しかし、マクロ (マクロ パラメーターではない) を文字列に変換するにはどうすればよいでしょうか。
たとえば、ある値を持つマクロ CONSTANT があるとします。
#define CONSTANT 42
これは機能しません: STR(CONSTANT)
. これ"CONSTANT"
は、私たちが望むものではない結果をもたらします。