2

この質問は、POSIX/SUS 標準の必須ヘッダーで定義する必要があるさまざまな型に関するものです。

いくつかのタイプは、多くのヘッダー ファイルで定義する必要があります。これを実現するための正しい方法と準拠した方法は何か疑問に思っています。

たとえば、<time.h>ヘッダーの仕様を見てください。

ヘッダーを含めると、 <signal.h> ヘッダーからのすべてのシンボルが表示される場合があります。

これは簡単で、<signal.h>から含まれてい<time.h>ます。

さて、これはどうですか:

<sys/types.h> で説明されているように、clock_tsize_ttime_tclockid_t、および timer_tタイプを定義する必要があります。

私が理解しているように、必要以上のシンボルが公開されるため、単純に<sys/types.h>fromを含めることはできません。<time.h>

誰でもこれを確認できますか?
を含めると標準準拠に違反します<sys/types.h>か?

もしそうなら、最良の解決策は、各タイプに特定のヘッダーを作成することだと思います。そうすれば、他のシンボルを気にせずに、特定のタイプをどこからでも見えるようにすることができます。
他に良い解決策はありますか?

最後に、C 標準の型についてはどうでしょうか。
POSIX/SUS 仕様の型の多くは整数型であり、固定幅が必要になる場合があります。

<stdint.h>では、標準が特定のヘッダーからインクルードすることは問題ないのでしょうか?それともコンプライアンスに違反するのでしょうか?

4

2 に答える 2