我目前正在尝试限制进程的内存资源。在这样做之前,我准备了rlimit64
结构调用getrlimit64
. 编译以下代码时
rlimit64 as_limit;
if (getrlimit64(RLIMIT_AS, &as_limit) == 0)
{
std::cerr << as_limit.rlim_cur << std::endl;
std::cerr << as_limit.rlim_max << std::endl;
as_limit.rlim_cur = 0x040000000 * 16;
std::cerr << as_limit.rlim_cur << std::endl;
std::cerr << as_limit.rlim_max << std::endl;
}
我收到有关分配为 的行的整数溢出的警告as_limit.rlim_cur
。悬停,作为我得到的输出:
18446744073709551615
18446744073709551615
0
18446744073709551615
这怎么可能?