4

<stdio.h>C ++プログラムのようにCヘッダーを含めずに、<cstdio>代わりにetc.を使用するように言われました。struct timevalを含めずに取得するにはどうすればよい<sys/time.h>ですか?

別の質問です。(POSIX システムで) select/poll を使用する C++11 の代替手段はありますか?

4

2 に答える 2

9

および同様の<cstdio>ものは、C 標準ライブラリの C++ バリアントです。<sys/time.h>は C 標準ライブラリの一部ではありません (特定の OS の POSIX インターフェイスの一部です)。そのため、C++ 固有のようなものはありません。Csys/ctimeと同じヘッダー ファイルを使用する必要があります。 .

C スタイルおよび C++ スタイルのヘッダーを持つ主な理由は、ヘッダーextern "C"ファイルで宣言された関数に を適用することです。一部のシステムでは、次のように関数をラップする必要がある場合があります。

 extern "C" {
 #include <sys/time.h>
 }

しかし、私の Linux システムでは、標準<sys/time.h>ファイルでそれを行います。

于 2013-08-19T20:22:29.390 に答える
0

<cstdio>、C ライブラリの C++ バリアントです<stdio.h>。違いは、C バージョンがグローバル名前空間で定義されていることです。

これらのヘッダーのリストは、http ://www.cplusplus.com/reference/clibrary/ で確認できます。

<sys/time.h>は標準ライブラリの一部ではないため、C++ には同等のものはありません。Cのように使用するだけです。

于 2013-08-19T20:28:27.153 に答える