現在、プロセスのメモリリソースを制限しようとしています。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
これはどのように可能ですか?