我有两个进程,每个进程都shmid
可以从shmget()
.
在这两个进程中,shmat()
给出了不同的内存地址。
每个进程的地址始终相同:
Process1: 0x41b31000
Process2: 0x4017d000
我不认为地址是虚拟地址,正如下面问题中所写的答案所述,此外,如果这些地址是虚拟地址,则它们必须指向相同的硬件地址。但是,这些地址的内容并不相同。
我正在为 ARM 处理器进行交叉编译,我的程序在 x86 Debian Lenny 中运行没有错误或问题。
我知道这个问题,但问题并不容易 - shmat() 为相同的“shmkey”返回不同的“shmaddr” -