6

私はpoll()自分のプログラムで関数を使用しています。フラグを使用するには、すべてのヘッダー ファイルを含める前に定義する必要があるこのリンクを読みました。このフラグが必要だったのは、ソケットをポーリングして、クライアントがハングアップしたかどうかを教えて、対応するスレッドを終了できるようにするためです。POLLRDHUP_GNU_SOURCE

ところで、私は複数のクライアントを同時に処理できる「エコー」サーバー用の C プログラムを作成しており、OpenSuse Linux Enterprise Server 10.3 (x86_64) で GCC 4.1.2 を使用しています。

4

2 に答える 2

9

POLLRDHUPは非標準の拡張機能です ( POSIXにはありません)。名前空間の汚染を防ぐために、非標準の拡張機能は、定義_GNU_SOURCEして明示的に要求しない限り表示されません。

詳細については、このような_GNU_SOURCE以前の StackOverflow の回答を参照してください。

于 2013-08-13T11:40:13.423 に答える
2

_GNU_SOURCE非標準の定義が公開されるのを防ぐことによって、移植可能なアプリケーションを作成するのに役立つ機能テスト マクロです。

于 2013-08-13T11:41:04.223 に答える