我检查了手册页,但他们没有解释 RND 的含义。我想知道 RND 代表什么词。就像SHM_RDONLY代表只读。谢谢!
以下是
shmat()
手册页的摘录
如果 shmaddr 不为 NULL 并且在 shmflg 中指定了 SHM_RND,则附加 发生在等于 shmaddr 的地址处,向下舍入到最接近的乘数 SHMLBA 的标题。 否则 shmaddr 必须是页对齐地址 发生附加。
它的意思是“四舍五入”,因为这个文档(第64页)建议每当您使用此标志时,它都会向下舍入到最接近的页面大小。
我不知道这个答案,但简单的谷歌搜索得到了这个1。
SHM_RND(将地址四舍五入为SHMLBA)
void * shmat(int shmid, const void *shmaddr, int shmflg)
如果 shmaddr 不为 NULL 并且在 shmflg 中指定了 SHM_RND,则附加等于 SHMLBA(下边界地址)的最接近倍数的地址。