Skip to content

FB_UNIQUEID


编译器执行的内置定义(宏)。

语法

` FB_UNIQUEID( stack-id )

`

参数

stack-id

要访问的栈名称

描述

获取由 stack-id 标识的栈顶标识符(栈大小不变)。

__FB_UNIQUEID_PUSH__ 用于向栈压入新的唯一标识符,__FB_UNIQUEID_POP__ 用于从栈弹出标识符)

注意:

  • 'stack-id' 名称本身与所有其他符号属于独立命名空间。

  • 栈中只能包含"唯一标识符"。

  • "唯一标识符"是模块中唯一的 fb 符号名,不会与其他符号名冲突或遮蔽("唯一标识符"的名称形式为 'LT_xxxx',因此可能并非完全唯一)。

  • fb 内部使用 'LT_xxxx' 形式作为标签、符号、临时变量等(因此自版本 0.0 起,所有 fbc 程序都应避免将 fbc 符号命名为此形式)。

__FB_UNIQUEID__ 只是展开为不带引号的文本。因此,例如 'Lt_0004' 这样的名称可以用于任何需要 fb 符号的地方(变量、过程名、类型名等)。

当栈为空或从未填充时,__FB_UNIQUEID__ 返回不带引号的空字符串。

示例

start GeSHi

vb
__FB_UNIQUEID_PUSH__( stk )
#print __FB_UNIQUEID__( stk )

    __FB_UNIQUEID_PUSH__( stk )
    #print __FB_UNIQUEID__( stk )

        __FB_UNIQUEID_PUSH__( stk )
        #print __FB_UNIQUEID__( stk )
        __FB_UNIQUEID_POP__( stk )

    #print __FB_UNIQUEID__( stk )
    __FB_UNIQUEID_POP__( stk )

#print __FB_UNIQUEID__( stk )
__FB_UNIQUEID_POP__( stk )

/' Compiler output example:
Lt_0006
Lt_0007
Lt_0008
Lt_0007
Lt_0006
'/

end GeSHi

另请参阅 __FB_UNIQUEID_PUSH____FB_UNIQUEID_POP__ 示例。

版本

  • 自 fbc 1.08.0 起

与 QB 的区别

  • FreeBASIC 新增

另请参阅

  • __FB_UNIQUEID_PUSH__
  • __FB_UNIQUEID_POP__

返回 目录

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