print - 2023.2 简体中文

Vitis 统一软件平台文档 嵌入式软件开发 (UG1400)

Document ID
UG1400
Release Date
2023-12-13
Version
2023.2 简体中文

获取或设置表达式的值。

语法

print [options] [expression]

获取或设置由 <expression> 指定的表达式的值。<expression> 可包含常量、局部变量、全局变量、CPU 寄存器或任何运算符,但不支持通过 #define 定义的预处理器宏。CPU 寄存器可按 {$r1} 的格式来指定,其中,r1 表示寄存器名称。复杂数据类型的元素(如结构)可通过“.”运算符来访问。例如,var1.int_type 表示 var1 结构体中的 int_type 元素。阵列元素可通过其索引来访问。例如,array1[0] 表示位于 array1 中的索引 0 处的元素。

选项

选项 描述
-add <expression> 用于将 <expression> 添加到自动表达式列表中。不指定表达式名称时,就会显示自动表达式列表中的表达式的值或定义。常用表达式应添加到自动表达式列表中。
-defs [expression] 用于返回表达式定义,如地址、类型、大小和 RW 标志。并非所有定义都可供所有表达式使用。例如,地址仅可用于变量,当表达式包含运算符时则不可用。
-dict [expression] 用于以 Tcl 词典格式返回结果,其中以变量名作为词典键,以变量值作为词典值。对于结构体之类的复杂数据,名称采用 parent.child 格式。
-remove [expression] 用于从自动表达式列表中移除表达式。只能移除先前通过 -add 选项添加到列表中的表达式。如果不指定表达式名称,将移除自动表达式列表中的所有表达式。
-set <expression> 设置变量的值。无法设置包含常量或运算符的表达式的值。

返回

返回值取决于所使用的选项。

-add or <none> :表达式值

-defs:返回表达式定义

-remove or -set:不返回任何结果。

如果无法读取或设置表达式值,则返回错误字符串。

示例

print Int_Glob

返回 Int_Glob 变量的值。

print -a Microseconds

将 Microseconds 变量添加到自动表达式列表中,并返回其值。

print -a Int_Glob*2 + 1

将 (Int_Glob*2 + 1) 表达式添加到自动表达式列表中,并返回其值。

print tmp_var.var1.int_type

返回 var1 结构体中的 int_type 元素值,其中,var1 是 tmp_var 结构体的成员。

print tmp_var.var1.array1[0]

返回位于 array1 阵列中的索引 0 处的元素的值。array1 是 var1 结构体的成员,该结构体则是 tmp_var 结构体的成员。

print

返回自动表达式列表中的所有表达式的值。

print -defs

返回自动表达式列表中的所有表达式的定义。

print -set Int_Glob 23

将 Int_Glob 变量的值设置为 23。

print -remove Microseconds

用于从自动表达式列表中移除 Microseconds 表达式。

print {$r1}

返回 CPU 寄存器 r1 的值。