7

インクルードしたヘッダー ファイルに特定の構造が定義されているかどうかを確認し、定義されていない場合は定義したいと考えています。ヘッダーはソース ファイルに含まれている場合と含まれていない場合があり、コンパイル時に (明らかに) 認識されます。

基本的に、ヘッダーファイルで使用されるガードに似たものが必要であり、ガードが定義されてifndefいるヘッダーファイルが含まれているかどうかをチェックできることはわかっていますが、それ自体をチェックできるかどうか迷っています。structstruct

4

2 に答える 2

9

いいえ。プリプロセッサは C 言語自体を解析しません。宣言された型については何も知りません。

于 2012-08-28T09:44:01.133 に答える
6

ANSIC仕様をチェックインしました

http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf

ここでは、前処理ディレクティブは識別子についてのみ説明します。

したがって、この構造が定義されているかどうかを確認することはできません。

于 2012-08-28T10:08:02.027 に答える