c_cpp 天真的代码吃内存来触发MLE的判断。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 天真的代码吃内存来触发MLE的判断。相关的知识,希望对你有一定的参考价值。

#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/time.h>
#include<sys/resource.h>

struct rusage usage;

long checkMem() {
    if (getrusage(RUSAGE_SELF, &usage) < 0) {
        perror("get memory");
        exit(1);
    } else {
        return usage.ru_maxrss;
    }
}

int main() {
    static int k = 0;
    printf("Base memory: %ldKB\n", checkMem());

    while (1) {
        k++;
        char* ptr = (char*) malloc(4096);
        if (ptr == NULL) {
            printf("\nmalloc failed\n");
            abort();
        } else {
            for (int i = 0; i < 4096; i++) {
                ptr[i] = (i & 0xff) ^ 0x3f;
            }
        }
        if (k % 256 == 0) {
            printf("\riteration=%d, Memory usage: %ldKB", k, checkMem());
            fflush(stdout);
            usleep(10000);
        }
    }
}

以上是关于c_cpp 天真的代码吃内存来触发MLE的判断。的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 天真的SingleLinkedList实现

NOIP真题做题经历——MLE之内存计算

吃内存狂魔?微信官方工具来了:深度清理缓存

c_cpp 以下代码将为您提供代码中任意内存的十六进制转储。

LVGL真的需要每个控件写代码?别天真了,知道了原理我们来拖控件吧~

c_cpp 简单的触发器