我在Minix中编写了一个信号量的实现,我不确定一件事。
如果从头部调用一个函数并且该函数正在使用全局数组,则是该数组:
答案 0 :(得分:0)
我不确定C99标准中是否提到process的概念。让我们假装你的C实现是在Linux上,或者至少是一个POSIX。
然后,每个流程都有自己的virtual address space(由fork(2)延迟复制,更改为mmap(2)& munmap
& mprotect(2)等...被execve(2) ....替换,全局变量位于该地址空间中。
因此,您的选择2是正确的(至少在Linux上,可能在Minix上,因为它符合POSIX并且类似于Unix ......)。
顺便说一句,它与static
数组相同。
另请参阅here给出的参考和链接。