1

stdint.hそのヘッダーの型を使用するヘッダーにそれが含まれていることを確認するための最良の方法は何ですか?

私が見ることができる選択肢は次のとおりです。

  • stdint.hヘッダー自体に含める(危険ですよね?)
  • #ifndef _STDINT_Hヘッダーを解析するときに含まれていない場合は、コンパイラーにフラグを立てます(付随するもののようなもの)#error "stdint.h not included"
  • stdint.hコメント、会話、ドキュメント、または3つすべての組み合わせ(最後のものが望ましい)のいずれかを使用して、それを必要とするヘッダーの前に常に含めるように他の開発者を教育します。

言及する価値のある他の選択肢がある場合は、遠慮なくそうしてください-私はここで何をすべきかを推測しています。

4

2 に答える 2

7

stdint.hヘッダーでタイプを使用する場合は、そのヘッダーに含める必要stdint.hがあります。

一般に、コンパイル時間を短縮するために、ヘッダーから含めるファイルの量を最小限にすることをお勧めします。したがって、可能な限り、ヘッダーで型を宣言する必要があります。からの型は前方宣言できないため (プリミティブ型の型定義にすぎません)、ヘッダーにstdint.h含める以外に選択肢はありません。stdint.h

于 2012-04-15T11:52:57.477 に答える
0

インクルードガードを使用すれば、ヘッダーファイルにヘッダーファイルを含めることは問題ありません。

何かのようなもの

# ifndef HEADER
     # define HEADER
     # include header.h
# endif
于 2012-04-15T11:29:31.100 に答える