(toppers-users 1747) Re: syslog 機能について

高木信尚 takagi-n @ biggie.jp
2004年 11月 8日 (月) 14:38:56 JST


皆さん、こんにちは。

> 上の方法で良ければすでにやっていたと思うのですが、ダメなのです。試して
> みるとすぐにわかりますが、「#define syslog()」だと、syslog(...) が展開
> できません。GCC の拡張を使えばできるのですが。
>
> ということで、良いアイデア募集。

可能性のあるアイデアを一通り出しておきます。

1. GCCの拡張機能またはC99の可変個引数マクロを使用する。

2. インライン関数を使用する。

3. #define syslog  1?(ER)0:(ER)
  のように定義する。ただし、syslogの結果に対して直接等価演算子が使えない。

4. #define syslog  !sizeof
 のように定義する。たぶん期待通りの結果になる。

といったところかと思います。
トリッキーなので読みにくいという欠点に目をつぶれば、4.が一番良さそうです。

-------------
高木信尚