小编Jor*_*sen的帖子

将内存锁定到 C 中的物理 RAM 以用于动态分配指针

我想使用mlock和将内存锁定到 C 中的物理 RAM munlock,但我不确定正确的用法。

请允许我分步解释:

让我们假设我使用动态分配一个指针calloc

char * data = (char *)calloc(12, sizeof(char*));
Run Code Online (Sandbox Code Playgroud)

我应该mlock在那之后做吗?

我们还假设我稍后尝试使用以下命令调整内存块的大小realloc

(char *)realloc(data, 100 * sizeof(char*));
Run Code Online (Sandbox Code Playgroud)

请注意,上述增加量( 100 )是随机的,有时我会减少内存块。

我应该先做munlock然后mlock再处理所做的更改吗?

另外,当我想data稍后释放指针时,我应该先释放指针munlock吗?

我希望有人可以向我解释正确的步骤,以便我更好地理解。

c posix memory-locking

5
推荐指数
0
解决办法
470
查看次数

标签 统计

c ×1

memory-locking ×1

posix ×1