1

32 ビット OS がサポートする RAM の量をテストしようとしています。

こんにちは、アプリを 32 ビット OS から 64 ビット OS に変換しています

すべてがより多くのメモリを占有するものは、ポインターが2倍になることを知っています。プログラムがMIBではなくMBで機能するように、プログラムの下で私を助けてください

このプログラムを試しましたが、MiB を MB に変換する方法がありません。

以下のプログラムを動作させるにはどうすればよいですか?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc,char* argv[]){
        size_t oneHundredMiB=100*1048576;
        size_t maxMemMiB=0;
        void *memPointer = NULL;
        while((memPointer = malloc(maxMemMiB += oneHundredMiB)) != NULL) {
                printf("Max Tested Memory = %zi\n",maxMemMiB);
                memset(memPointer,0,maxMemMiB);
                free(memPointer);
        }
        printf("Max Usable Memory aprox = %zi\n",maxMemMiB-oneHundredMiB);
        return 0;
}
4

0 に答える 0