我有以下程序:
for stmt in irsb.statements:
if isinstance(stmt, pyvex.IRStmt.WrTmp):
tmp = stmt.tmp
print tmp
tmp在打印时为每个语句提供不同的输出。输出是这样的:
t0 = GET:I64(offset=56)
4
t4 = GET:I64(offset=48)
3
其中3和4是tmp的输出。我希望将所有这些数字附加到列表中进行比较。此外,我希望在打印时添加't'字母。我尝试了以下
tmp = 't{}'.format(tmp)
a =[]
for val in enumerate(tmp):
a.append(val)
,输出如下:
[(0, 't')]
[(0, 't'), (1, '0')]
t0
t0 = GET:I64(offset=56)
[(0, 't')]
[(0, 't'), (1, '4')]
t4
t4 = GET:I64(offset=48)
[(0, 't')]
[(0, 't'), (1, '3')]
答案 0 :(得分:1)
您的代码:
tmp = 't{}'.format(tmp)
a =[]
for val in enumerate(tmp):
a.append[val]
没什么意义。
我认为你想要的是
a = []
for stmt in irsb.statements:
if isinstance(stmt, pyvex.IRStmt.WrTmp):
tmp = stmt.tmp
print 't{}'.format(tmp)
a.append(tmp)
我猜对了吗?