获取或设置表达式的值。
语法
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 的值。