私はパイプが全く新しく、何かを理解することができません。私は単一のパイプを作ることを知っています、それは単純ですCで名前のない複数のパイプを作成する
int fd[2];
pipe(fd);
しかし、私はパイプの束を作成したいのですか?私は同じint配列、または別のものを使用しますか?私は3本のパイプを作成したい場合たとえば、それは、あなたは間違いなく異なるアレイを使用する必要が
int fd[2];
pipe(fd);
pipe(fd);
pipe(fd);
それとも
int fd[2];
pipe(fd);
int fe[2];
pipe(fe);
int ff[2];
pipe(ff);
最初のオプションは4つのパイプをリークします.3番目の 'pipe()'呼び出しが成功した後にファイル記述子が何であったのか分かりません。使用可能なパイプは1つだけですが、3つのファイル記述子が十分にあります。 'pipe()'の呼び出しの間に 'close()'呼び出しを介在させない限り、 'pipe()'呼び出しごとに別々のファイルディスクリプタのペアが必要です。 –