如何将mib转换为mb我想测试ram

时间:2012-11-05 09:54:23

标签: c++ c testing memory-management

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

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

所有占用更多内存的东西我知道指针会加倍请在程序以下帮助我,这样程序适用于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;
}

0 个答案:

没有答案