次元 PageSize x PageSize の 2 次元配列を作成しながら、仮想ページ間での割り当ての影響を分析しています。私のマシンのページ サイズは 4096 です。4096 の整数 (行) を指す 4096 の整数ポインター (列) の配列があります。
新しい仮想ページで最初の整数ポインターの割り当てを開始したいと考えています。現在のメモリ位置が新しいページかどうかを確認するにはどうすればよいですか? それを特定したら、ガベージ値をいくつか書き込んで、ポインタを新しい仮想ページに移動できると思います。これが配列を割り当てる方法です。
array = malloc(ncolumns * sizeof(int *));
for(j = 0; j < ncolumns; j++)
{
array[j] = malloc(nrows * sizeof(int));
if(array[j] == NULL)
{ reportError(8);}
}