OS のメモリ制限が機能するかどうかを確認しようとしています。だから私はこれを使用していますシンプルなCプログラムです:
#include <iostream>
#include <cstdlib>
int main()
{
const size_t GB = 1024 * 1024 * 1024;
const size_t mem = 1 * GB;
std::cout << "allocating " << mem << " bytes" << std::endl;
void* p = malloc(mem);
if (p) { std::cout << "memory allocated" << std::endl; }
else { std::cout << "cannot allocate memory" << std::endl; }
char a;
std::cin >> a;
free(p);
}
でコンパイルして-O0
いますが、パフォーマンス モニターを見ると、a.out
128Kb しか使用していないことがわかります。1 GB が表示されないのはなぜですか?