ASSERT
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgAssert
- 最后更新: 2023-07-09
调试宏,当表达式求值为 0(假)时停止程序执行。
语法
#define ASSERT(expression) if (expression) = 0 then : fb_Assert( **FILE**, **LINE**, **FUNCTION**, #expression ) : end if用法
ASSERT( expression )参数
expression
任何有效的条件/数值表达式。如果 expression 求值为 0(即"假"),则停止执行。
说明
ASSERT 宏用于调试,仅当命令行指定了 -g 或 -eassert 选项时才有效。此时若 expression 求值为 0,它会打印错误信息并停止程序执行。
其常规用途是在调试过程中检查变量或表达式的正确值。
如果未向 fbc 传递 -g 和 -eassert,则该宏不会生成任何代码,也不会有任何效果。
注意:如果 ASSERT 失败时程序正处于图形 Screen (Graphics) 模式,错误信息将不可见,因为它会被打印到图形屏幕上,而图形屏幕会在之后立即关闭。
示例
start GeSHi
vb
Sub foo
Dim a As Integer
a=0
Assert(a=1)
End Sub
foo
'' If -g or -eassert is used, this code stops with: test.bas(3): assertion failed at FOO: a=1end GeSHi
方言差异
- 在 -lang qb 方言中不可用,除非使用别名
__ASSERT引用。
与 QB 的差异
- FreeBASIC 新增特性
另请参阅
#assertASSERTWARN- 编译器选项: -eassert
- 编译器选项: -g
返回 目录