2009-06-10から1日間の記事一覧
Linux のカーネルのソースを見ていて、こんな書き方ができるんだ、と。 マクロ限定だけれど、# は引数を文字列に変換し、 ## は識別子を結合する。 # の例 #include <stdio.h> #define PUT(x) printf(#x) int main(int argc, char *argv[]) { PUT(hello world\n); } </stdio.h>…
Linux のカーネルのソースを見ていて、こんな書き方ができるんだ、と。 マクロ限定だけれど、# は引数を文字列に変換し、 ## は識別子を結合する。 # の例 #include <stdio.h> #define PUT(x) printf(#x) int main(int argc, char *argv[]) { PUT(hello world\n); } </stdio.h>…