0

標準cライブラリにあるverify()関数(VERIFY()msvcなど)などはありますか、それとも独自に作成する必要がありますか?もしそうなら、それはどのヘッダーの下にありますか?

編集: assertとverifyの違いは、verifyはリリースビルドで関数を実行しますが、assertのステートメントはリリースでコンパイルされないことです。

つまり

assert( printf("assert ") );

verify( printf("verify") );

デバッグでは印刷されます"assert verify"が、リリースでは印刷されます"verify"

4

3 に答える 3

4

実行時に、Cのassertマクロはにありassert.hます。

コンパイル時に、C(C11以降)のstatic_assertマクロは。にありassert.hます。

参考までに、static_assert一部のC89 / C99コンパイラでは、コンパイラ拡張としてそれも含まれています。たとえば、IARコンパイラには。のstatic_assert関数がありintrinsics.hます。

于 2012-06-14T10:43:41.407 に答える
0

ユニットテストにはCUnitを使用できます。これは、Java用の古き良きJUnitライブラリのCポートです。

後で編集:私が知らなかった同様のマクロがあるようです。

于 2012-06-14T10:36:21.487 に答える
0

assert.hで定義されたassertマクロを使用できます

于 2012-06-14T10:36:49.507 に答える