Skip to content

FB_ERR


编译器设置的内置定义(宏值)。

语法

` 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无标志
1errorcheck由 '-e'、'-ex'、'-exx' 隐含
2resumeerr由 '-ex'、'-exx' 隐含
4extraerrchk由 '-exx' 隐含
8arrayboundchk由 '-earray'、'-exx' 隐含
16nullptrchk由 '-enullptr'、'-exx' 隐含
32assertions由 '-eassert'、'-g' 隐含
64debuginfo由 '-edebuginfo'、'-g' 隐含
128debug由 '-edebug'、'-g' 隐含
256errlocation由 '-elocation'、'-exx' 隐含
512unwindinfo由 '-eunwind'、'-e'、'-ex'、'-exx' 隐含
1024arraydimscheck由 '-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 If

end GeSHi

版本

与 QB 的区别

  • FreeBASIC 新增

另请参阅

返回 目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系