可変引数マクロの使い方
...と書くとその部分がごっそり__VA_ARGS__で参照できる。
#define try(var, syscall, ...) if( (var = syscall(__VA_ARGS__)) < 0) { perror(#syscall); exit(1);} #define _try(syscall, ...) if(syscall(__VA_ARGS__) < 0) { perror(#syscall); exit(1);}
こんなマクロがUNIXプログラミングで便利。