【发布时间】:2014-12-12 13:04:26
【问题描述】:
我很难理解操作系统如何将数据从父进程的地址空间传递到子进程的地址空间。也就是说,在 C 程序中,argc 和 argv 在传递给 main 时存储在哪里?
我理解 argv 本质上是一个双指针。我不明白的是操作系统在将这些值加载到内核后对它们做了什么。在为子进程创建地址空间后,它是否会将这些值推送到新空间的堆栈中?我们显然不想传递指向另一个地址空间的指针。
为了记录,我正在使用 MIPS32 架构。
【问题讨论】:
标签: c architecture operating-system main virtual-address-space