私はシリアルプログラムを実行していましたが、使用するselect()前にそれらが使用されていることを確認しましread()た。なぜこれが必要なのですか。直接電話read()して失敗するかどうかを確認できないのはなぜですか?また、ファイル記述子を1ずつインクリメントして、すでにに設定されているファイル記述子を渡すときに渡す必要があるのはなぜselect()ですか?
例:
r=select(fd+1, &fds, NULL, NULL, &timeout);
ここで、fdsはすでにfdの値を持っています