FB_UNIQUEID
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgDdfbuniqueid
- 最后更新: 2021-10-11
编译器执行的内置定义(宏)。
语法
` 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__
返回 目录