26得票4回答
在多线程的C/C++中,malloc/new在分配内存时是否会锁定堆?

我想知道如果两个线程同时请求分配内存时,是否存在内存分配锁。我正在使用OpenMP进行多线程编程,使用C++代码。 操作系统:主要是Linux,但也想了解Windows和Mac的情况。

8得票8回答
在C语言中是否有一种方法可以覆盖malloc/free函数?

有没有一种方法可以从C应用程序本身钩取malloc/free函数调用?

14得票7回答
简单的C语言动态内存分配

虽然在C/C++中有很多不同的复杂实现方法来实现malloc / free,但我正在寻找一种非常简单并且(特别是)小型的实现方法,它可以在固定大小的缓冲区上运行,并支持realloc。线程安全等功能不需要,我的对象小而且大小变化不大。您能推荐任何实现吗? 编辑: 我将在接收器的通信缓冲区中...

9得票7回答
除了malloc/free,程序还需要操作系统提供什么?

我正在设计一个操作系统的内核(我打算叫它“核心”,只是为了与众不同,但基本上是一样的)。如果我不能实现多任务处理、内存管理和其他基本功能,那么操作系统本身的细节就没有意义,因此我需要首先解决这个问题。我有一些关于设计malloc例程的问题。 我认为malloc()要么是内核本身的一部分(我倾...

33得票5回答
链表 - 如何释放使用malloc分配的内存

我有一个非常简单的C代码用于构建单向链表,我使用malloc动态地为每个节点分配内存。在代码的结尾,我想要释放所分配的每个节点的内存,但不确定如何做到这一点 - 如果我从头节点开始释放,后续节点的指针会丢失并导致内存泄漏。 另一种方式是从头节点开始,并将节点指针存储在一个单独的指针数组中或类...

16得票5回答
使用jemalloc的C++ STL

如何将C++ STL容器与jemalloc(或任何其他malloc实现)一起使用? 是简单地包含jemalloc/jemalloc.h吗?还是应该为它们编写一个分配器? 编辑:我正在开发的应用程序在其生命周期内分配和释放相对较小的对象。我想替换默认的分配器,因为基准测试表明该应用程序无法在...

14得票1回答
Linux和Windows上的malloc_size替代方案

如何判断 void * 指针所指向的地址(之前是使用 malloc 在 Linux 和 Windows 上分配的)有多大?我希望这两个系统都会在某个地方存储这种信息。也就是说,是否存在类似于 OSX/Darwin 上的 malloc_size 的替代方法。如果需要,可以使用 gcc/mingw。

22得票5回答
如何在使用malloc()分配结构体时,在结构体中使用C++字符串?

我编写了下面的示例程序,但它会因为段错误而崩溃。问题似乎出在在结构体中使用malloc和std::string上。#include <iostream> #include <string> #include <cstdlib> struct example...

7得票4回答
在我的程序中使用OpenBSD的malloc、realloc和free函数

我希望在我的Debian lenny桌面上使用OpenBSD的malloc,realloc和free实现,而不是glibc的。 它们是否只是可以直接替换:它们能在我的Linux桌面上工作吗? 我需要哪些文件以及哪个OpenBSD包含它们?

9得票3回答
在结构体内部分配一个数组

我正在尝试在结构体内使用malloc分配一个数组,但是当我运行程序时,我不断收到分段错误。 compares函数只是我正在测试的内容,所以它不应该是问题的一部分。 typedef struct { char *string; } prod_t; int main(int agrc...