Man page - assert(3)

Packages contains this manual

Available languages:

en fr pt_BR es pl ja ru ro de

Manual

ASSERT

名 前
書 åŧ
čĒŦ 明
čŋ” り 値
åąž 性
æē– 拠
バ グ
é–ĸ 逪 項 į›Ž
こ ぎ 文 書 ãĢ つ い ãĻ

名 前

assert - č¨ē 断 が åŊ ぎ 時 ãĢ プ ロ グ ナ ム を 中 æ­ĸ す る

書 åŧ

#include <assert.h>

void assert(scalar expression );

čĒŦ 明

こ ぎ マ ク ロ は 、 プ ロ グ ナ マ が 、 プ ロ グ ナ ム ぎ バ グ を čĻ‹ つ け た り 、 例 外 įš„ ãĒ å ´ éĸ を (限 厚 įš„ ãĒ デ バ ッ グ å‡ē 力 を 行 う ) ク ナ ッ ã‚ˇ ãƒĨ で å‡Ļ ᐆ す る ぎ ãĢ åŊš įĢ‹ つ 。

expression が åŊ (false) ぎ å ´ 合 (つ ぞ り expression が 0 と 比 čŧƒ し ãĻ į­‰ し い å ´ 合 )、 assert () は エ ナ ãƒŧ ãƒĄ ッ ã‚ģ ãƒŧ ジ を 標 æē– エ ナ ãƒŧ ãĢ 襨 į¤ē し 、 abort (3) を å‘ŧ ãŗ å‡ē し ãĻ プ ロ グ ナ ム を įĩ‚ äē† ã™ る 。 エ ナ ãƒŧ ãƒĄ ッ ã‚ģ ãƒŧ ジ ãĢ は 、 äģĨ 下 ぎ よ う ãĢ 、 フ ã‚Ą イ ãƒĢ 名 、 assert () ぎ å‘ŧ ãŗ å‡ē し を åĢ む é–ĸ 数 名 、 å‘ŧ ãŗ å‡ē し ぎ ã‚Ŋ ãƒŧ ゚ ã‚ŗ ãƒŧ ド ぎ 行 į•Ē åˇ 、 åŧ• 数 ぎ テ キ ゚ ト が åĢ ぞ れ る 。

prog: some_file.c:16: some_func: Assertion `val == 0' failed.

<assert.h> が 最 垌 ãĢ イ ãƒŗ ク ãƒĢ ãƒŧ ド さ れ た 時 į‚š で 、 NDEBUG マ ク ロ が 厚 įžŠ さ れ ãĻ い る å ´ 合 、 assert () マ ク ロ は äŊ• ぎ ã‚ŗ ãƒŧ ド も į”Ÿ 成 せ ず 、 し た が ãŖ ãĻ 全 く äŊ• も し ãĒ い 。 assert () を äŊŋ ãŖ ãĻ エ ナ ãƒŧ æĄ äģļ を 検 å‡ē し ãĻ い る å ´ 合 ãĢ NDEBUG を 厚 įžŠ す る ぎ は 推 åĨ¨ さ れ ãĒ い 。 ã‚Ŋ フ ト ã‚Ļ ェ ã‚ĸ ぎ 動 äŊœ が 非 æąē 厚 įš„ ãĢ ãĒ ãŖ ãĻ し ぞ う 可 čƒŊ 性 が あ る か ら で あ る 。

čŋ” り 値

値 は čŋ” さ れ ãĒ い 。

åąž 性

こ ぎ ᝀ で äŊŋ ᔍ さ れ ãĻ い る ᔍ čĒž ぎ čĒŦ 明 ãĢ つ い ãĻ は 、 attributes (7) を 参 į…§ 。

Image grohtml-17424-1.png

æē– 拠

POSIX.1-2001, POSIX.1-2008, C89, C99. C89 で は expression は int 型 で あ る こ と が åŋ… čρ と さ れ 、 そ う で ãĒ い å ´ 合 ぎ 動 äŊœ は æœĒ 厚 įžŠ と さ れ ãĻ い た 。 し か し C99 で は お ぎ よ う ãĒ ゚ ã‚Ģ ナ 値 で も よ い こ と ãĢ ãĒ ãŖ た 。

バ グ

assert () は 、 マ ク ロ と し ãĻ 原 čŖ… さ れ ãĻ い る 。 す ãĒ わ ãĄ 、 評 䞥 さ れ ãĻ い る åŧ が 副 äŊœ ᔍ を 持 ãŖ ãĻ い る å ´ 合 ãĢ は 、 プ ロ グ ナ ム ぎ 振 舞 い は 、 マ ク ロ NDEBUG が 厚 įžŠ さ れ ãĻ い る か ãĢ よ ãŖ ãĻ į•° ãĒ る だ ろ う 。 こ ぎ た め 、 デ バ ッ グ を 有 劚 ãĢ す る と æļˆ え ãĻ し ぞ う ハ イ ã‚ŧ ãƒŗ バ グ (Heisenbugs) が čĩˇ こ る こ と が あ る 。

é–ĸ 逪 項 į›Ž

abort (3), assert_perror (3), exit (3)

こ ぎ 文 書 ãĢ つ い ãĻ

こ ぎ man ペ ãƒŧ ジ は Linux man-pages プ ロ ジ ェ ク ト ぎ ãƒĒ ãƒĒ ãƒŧ ゚ 5.10 ぎ 一 部 で あ る 。 プ ロ ジ ェ ク ト ぎ čĒŦ 明 と バ グ å ą 告 ãĢ é–ĸ す る 情 å ą は https://www.kernel.org/doc/man-pages/ ãĢ 書 か れ ãĻ い る 。