Oracle® Solaris Studio 12.4: C ユーザーガイド

印刷ビューの終了

更新: 2014 年 12 月
 
 

2.8 表明

次の書式で指定します。

#assert predicate (token-sequence)

token-sequence は、表明の名前空間 (マクロ定義用の空間から分離されている) にある述語と関連付けられます。述語は識別子トークンでなければいけません。

#assert predicate

これは述語が存在していることを表明しますが、それにトークン列を関連付けることはしません。

-pedantic が有効でない場合、コンパイラはデフォルトで、次の事前定義された述語を提供します。

#assert system (unix)
#assert machine (sparc)
#assert machine (i386)(x86)
#assert cpu (sparc)
#assert cpu (i386)(x86)

-pedantic が有効でない場合、lint はデフォルトで、次の 事前定義述語を提供します。

#assert lint (on)

表明は #unassert を使用して削除できます。この場合、assert と同じ構文が使用されます。引数なしで #unassert を使用すると述語に対するすべての表明が削除され、表明を指定すればその表明だけが削除されます。

表明は、次の構文を持つ #if 文でテストすることができます。

#if #predicate(non-empty token-list)

たとえば次の行を使って、事前定義された述語 system をテストできます。これは真と評価されます。

#if #system(unix)