我想使用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吗?
我希望有人可以向我解释正确的步骤,以便我更好地理解。