我在操作系统课上时不时遇到这个问题,但教授没有解释它,我在网上也找不到确切的解释。中的偏移量到底有什么用mmap
?这也是针对linux的
谢谢
C中的函数是
void f(int* out, int* in, int nbElements){
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
由于int nbElements
是第一个被压入堆栈in
并且out
具有可变大小,我如何访问 的值nbElements
?据我了解,堆栈看起来像这样:
esp
ebp
return address # -4(%ebp)
1st element of int* out # -8(%ebp)
1st element of int* in # (%ebp - 8 - 4*nbElements)
nbElements # not sure how I can access the value of this
Run Code Online (Sandbox Code Playgroud)
那么如何在nbElements
不知道其地址的情况下访问的值呢?