malloc

    9热度

    6回答

    我正在执行一个任务的尾部。我有它正常工作,但我似乎从随机时间免费获得一个错误。 我看不到,要追踪到一个模式或除了它是一致的任何东西。 例如,如果我将我的程序称为“tail -24 test.in”,我会在多次运行的同一行上得到不正确的校验和错误。但是,使用不同的文件甚至不同数量的行来打印回来,我将无错地回来。 关于如何追踪问题的任何想法,我一直试图调试它几个小时无济于事。 这里是有问题的代码: 线

    4热度

    10回答

    这是一个有点假设和粗略简化,但... 假设一个程序,将调用第三方写的函数。这些政党可以被认为是非敌对的,但不能被认为是“有能力的”。每个函数都会接受一些参数,产生副作用并返回一个值。他们没有跑步时没有状态。 目标是确保它们不会通过记录所有malloc(等等)而导致内存泄漏,然后在函数退出后释放所有内容。 这可能吗?这是否实用? 附:对我而言,重要的一点是确保没有分配方式能够持续消除内存泄漏,而不会

    2热度

    2回答

    你可以阅读关于64位调用约定here。 x64函数应该自行清理,但是,当我从.asm中调用malloc时,它将覆盖RSP和RSP + 8处的值。这似乎很错误。有什么建议么? public TestMalloc extern malloc : near .CODE align 8 TestMalloc proc mov rcx, 100h 000000018000B

    3热度

    2回答

    假设我有以下代码: while(TRUE) { pthread_t *thread = (pthread_t *) malloc(sizeof(pthread_t)); pthread_create(thread, NULL, someFunction, someArgument); pthread_detach(*thread); sleep(10);

    4热度

    4回答

    在Linux/GCC/C++中,每次调用malloc/free/new/delete时,我都会记录stderr的内容。我试图理解一个库的内存分配,所以我想在运行单元测试时生成这个输出。我使用valgrind进行mem泄漏检测,但是我找不到一个让它只记录分配的选项。 任何想法?我正在寻找最简单的解决方案。重新编译库不是一个选项。

    4热度

    2回答

    寻找反馈: http://code.google.com/p/google-perftools/wiki/GooglePerformanceTools

    20热度

    8回答

    我有一个单线程的嵌入式应用程序,可以分配和取消分配很多很多的小块(32-64b)。基于缓存的分配器的完美场景。尽管我可以尝试写一篇,但这可能会浪费时间,而且还没有经过良好的测试和调整,因为一些解决方案已经在前线。 那么什么是我可以用于这种情况的最佳分配器? 注意:我在系统中使用了一个Lua虚拟机(这是80 +%分配的罪魁祸首),所以我不能轻易重构我的代码以使用堆栈分配来提高分配性能。

    7热度

    5回答

    在这里动态存储器的讨论:"Intro to C Pointers and Dynamic Memory" 作者指出: 像这样的存储器块可有效地用作一个更灵活的阵列。这种方法实际上在现实世界的C程序中更为常见。它也比“可变大小的数组” 类型存储器块他所谈论的是这样更可预测的和灵活的: const int size = 5; int * array = calloc(size, sizeof(int