マクロの引数の文字列

コマンドプロンプトでCppUnitとかってfail時にどのテストが失敗したのかが表示されるけど、どうやってやってるのかとちょっとみてみたら、引数に#をつけてた。ほう。


#define TEST(x) {printf("%s\n",#x);}

int main(int argc, char *argv[]) {
   int hoge = 1;

   TEST(hoge == 1);
   return 0;
} 

「hoge == 1」ってでる。超トリビアルだぜ!

コスミー について

昔(?)はゲーム作ってました。 今もなんか作ろうとしています。
カテゴリー: C言語 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。