使用ICC进行编译时,每条指令后都有2个以点分隔数字作为前缀的哈希符号。这是什么意思?
L__routine_start__Z12testFunctionPii_0:
testFunction(int*, int):
push rbp #1.42
mov rbp, rsp #1.42
sub rsp, 32 #1.42
mov QWORD PTR [-24+rbp], rdi #1.42
mov DWORD PTR [-16+rbp], esi #1.42
mov DWORD PTR [-32+rbp], 0 #2.11
mov DWORD PTR [-28+rbp], 0 #3.14
..B1.2: # Preds ..B1.3 ..B1.1
mov eax, DWORD PTR [-28+rbp] #3.19
mov edx, DWORD PTR [-16+rbp] #3.23
cmp eax, edx #3.23
jge ..B1.4 # Prob 50% #3.23
...
答案 0 :(得分:0)
它是一个注释,包含原始源的行和列信息,因此您可以按照指令的来源进行操作。根据优化级别和out-of-order execution
等功能,行不得按自然顺序排列。