0

私のコンピュータサイエンスプログラムでは、Cで子プロセス、フォーク、パイプ、ファイル記述子などを操作するように教えられてきましたが、C++で同等の処理を行ったことはありません。

同じライブラリを使用していますか、それともC ++には独自の(できれば単純化された)システムライブラリがいくつかありますか?

4

3 に答える 3

5

あなたが説明したものの種類は、実際にはC固有ではなく、システム固有です。周りを見渡せば、それらのラッパーを見つけることができるかもしれませんが、それらはC ++標準(またはC標準)の一部ではありません。

例として、標準Cでファイル記述子を使用する理由はありません。これが、ファイルstruct、fopen、fclose、fread、fwriteなどの目的です。ファイル記述子を使用している場合は、Cではなくオペレーティングシステムについて教えられているためです。

于 2012-09-30T02:43:53.977 に答える
0

フォーク、パイプ、実行; 親プロセス、子プロセス:あなたはPOSIXについて話している。POSIX標準は、C++ではなくCで記述されています。いくつかの例外を除いて、POSIXライブラリ関数はC標準と一致しているか、C標準を拡張しています。C ++からC関数を呼び出すことができるため、これと同じ機能をPOSIX準拠のC /C++システムで使用できます。ただし、C ++ではなくCに焦点が当てられています。これは、C++が関数forkexecファミリーなどのライブラリ関数の母国語であるためです。

C ++ 11はPOSIXとWindowsのスレッドの概念を採用していますが、forkやexec、パイプなどの重量のあるマルチプロセッシングのものはCベースです。

于 2012-09-30T04:01:11.427 に答える
-1

CまたはC++wrtプロセス、子プロセスなどに固有のものはありません。Cでプログラミングしているときに利用できるものは、C++でも利用できるはずです。オブジェクト指向スタイルとRAIIの利点のために設計できるラッパークラスをいつでも使用できます。

于 2012-09-30T03:55:48.150 に答える