FB_ERR
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgDdfberr
- 最后更新: 2024-05-20
编译器设置的内置定义(宏值)。
语法
` FB_ERR
`
描述
__FB_ERR__ 指示在编译模块时,命令行上是否指定了 -e、-ex 或 -exx。
__FB_ERR__ 指示在编译模块时,命令行上是否指定了 -earray、-enullptr 或 -elocation,或由 -exx 隐含。
__FB_ERR__ 指示在编译模块时,命令行上是否指定了 -edebug、-edebuginfo 或 -eassert,或由 -g 隐含。
__FB_ERR__ 指示在编译模块时,命令行上是否指定了 -eunwind,或由 -e、-ex 或 -exx 隐含。
__FB_ERR__ 指示在编译模块时,命令行上是否指定了 -earraydims,或由 -exx 隐含。
返回以下值的按位 OR:
| 值 | 标志 | 描述 |
|---|---|---|
| 0 | 无标志 | |
| 1 | errorcheck | 由 '-e'、'-ex'、'-exx' 隐含 |
| 2 | resumeerr | 由 '-ex'、'-exx' 隐含 |
| 4 | extraerrchk | 由 '-exx' 隐含 |
| 8 | arrayboundchk | 由 '-earray'、'-exx' 隐含 |
| 16 | nullptrchk | 由 '-enullptr'、'-exx' 隐含 |
| 32 | assertions | 由 '-eassert'、'-g' 隐含 |
| 64 | debuginfo | 由 '-edebuginfo'、'-g' 隐含 |
| 128 | debug | 由 '-edebug'、'-g' 隐含 |
| 256 | errlocation | 由 '-elocation'、'-exx' 隐含 |
| 512 | unwindinfo | 由 '-eunwind'、'-e'、'-ex'、'-exx' 隐含 |
| 1024 | arraydimscheck | 由 '-earraydims'、'-exx' 隐含 |
__FB_ERR__ 始终有定义。
示例
start GeSHi
vb
'Example code to demonstrate a use of __FB_ERR__
Dim fb_err_value As Integer
fb_err_value = __FB_ERR__
If fb_err_value = 0 Then
Print "no flag enabled"
Else
If fb_err_value And 1 Then
Print "'errorcheck' flag enabled"
End If
If fb_err_value And 2 Then
Print "'resumeerr' flag enabled"
End If
If fb_err_value And 4 Then
Print "'extraerrchk' flag enabled"
End If
If fb_err_value And 8 Then
Print "'arrayboundchk' flag enabled"
End If
If fb_err_value And 16 Then
Print "'nullptrchk' flag enabled"
End If
If fb_err_value And 32 Then
Print "'assertions' flag enabled"
End If
If fb_err_value And 64 Then
Print "'debuginfo' flag enabled"
End If
If fb_err_value And 128 Then
Print "'debug' flag enabled"
End If
If fb_err_value And 256 Then
Print "'errlocation' flag enabled"
End If
If fb_err_value And 512 Then
Print "'unwindinfo' flag enabled"
End If
If fb_err_value And 1024 Then
Print "'arraydimscheck' flag enabled"
End If
End Ifend GeSHi
版本
- 自 fbc 1.20.0 起:-earraydims 指示。
- 自 fbc 1.10.0 起:-eunwind 指示。
- 自 fbc 1.07.0 起:-earray、-enullptr、-elocation、-edebug、-edebuginfo 和 -eassert 指示。
与 QB 的区别
- FreeBASIC 新增
另请参阅
__FB_MT____FB_DEBUG__- 编译器选项:-e
- 编译器选项:-ex
- 编译器选项:-exx
- 编译器选项:-eunwind
- 错误处理
返回 目录