-1

有人可以帮我解释一下为什么堆栈上的局部变量(sub $0x20,%esp)应该是 16 个字节(两个指向 char 的指针)分配给局部变量。这是函数及其 gdb 反汇编:

#include <stdio.h>

void main() {
   char *name[2];

   name[0] = "/bin/sh";
   name[1] = NULL;
   execve(name[0], name, NULL);
}

gdb 反汇编结果

4

0 回答 0