首页 > 试题广场 >

下面的代码给出了类型ELE的结构声明以及函数fun的原型:

[问答题]

下面的代码给出了类型ELE的结构声明以及函数fun的原型:

struct ELE {
 long v; 
  struct ELE *p;
}
long fun(struct ELE *ptr);

当编译fun的代码时,GCC会产生如下汇编代码:

long fun(struct ELE *ptr) 
ptr in %rdi1fun:

fun:
  movl $0,%eax
  jmp .L2
.L3:
   addq   (%rdi),%rax
   movq 8 (%rdi),%rdi
.L2:
   testq   %rdi,%rdi
   jne     .L3
   rep;ret

A. 利用逆向工程技巧写出fun的C代码。

B. 描述这个结构实现的数据结构以及fun执行的操作。

这道题你会答吗?花几分钟告诉大家答案吧!