gpt4 book ai didi

c - 共享内存的重新分配

转载 作者:行者123 更新时间:2023-11-30 19:19:28 24 4
gpt4 key购买 nike

为了重新分配共享内存,我当前正在使用 mremap 来扩大特定的共享内存大小。以下是为实现此目标而使用的声明:

char *mem = (char*)mremap(addr, sizeof(addr), mem_range + 1, MREMAP_MAYMOVE);

尽管包含:

#define _GNU_SOURCE
#include <sys/mman.h>

Eclipse 显示无法解析符号“MREMAP_MAYMOVE”

但是,鉴于 eclipse 显示上述错误,代码正在编译。

下图显示了这种情况:

enter image description here

提前致谢!

最佳答案

以下代码在 SuSE Linux SLES11 上编译和链接时没有错误或警告:

<小时/>
gcc -Wall -o test test.c
<小时/>
#define _GNU_SOURCE
#include <sys/mman.h>
#include <stdio.h>

int main()
{
void *oldMapAddress = NULL;
size_t oldMapSize = 512;
size_t newMapSize = 1024;
void *newMapAddress = NULL;

newMapAddress = mremap(oldMapAddress, oldMapSize, newMapSize, MREMAP_MAYMOVE);

return(0);
}
<小时/>

上面的代码不会被执行。它只是编译器/链接器证明。

关于c - 共享内存的重新分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24394309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com