1

我正在尝试测试 32 位操作系统支持多少 RAM。

嗨,我正在将应用程序从 32 位操作系统转换为 64 位操作系统只需检查一下 4gb 内存就足够了,这就是我要检查的

什么都占用了更多内存我知道指针会加倍请帮助我下面的程序这样程序适用于 MB 而不是 MIB

我试过这个程序,但我缺少一些将 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