jjzjj

malloced

全部标签

c - Malloc 在一些调用后不工作(C,在 Windows 10 上用 gcc 为 MinGW-W64 编译)

我需要测试我的项目在Windows上的性能。我有一个数组数组rede_conexoes,并在一个循环中分配每个位置,但经过一些迭代后,malloc函数不起作用,并且在我可以之前突然停止我的进程甚至测试返回值也没有显示错误信息。该代码在Windows10的WSL(适用于Linux的Windows子系统)上运行良好。为了在Windows上本地测试代码,我为gcc编译器安装了Mingw-w64(找不到更好的解决方案,因为支持需要OpenMP)。下面是带有malloc函数的片段:bool**rede_conexoes=(bool**)malloc(num_PL*sizeof(bool*));.

python - 如何将通过 ctype malloc 分配的二进制缓冲区保存到 Python 中的文件中?

我有以下代码importctypespBuf=ctypes.cdll.msvcrt.malloc(nBufSize)#wrotesomethingintothebuffer如何使用Python2.5将缓冲区的内容保存到文件中?您可能已经知道,这是行不通的,给出TypeError:argument1mustbestringorread-onlybuffer,notint:f=open("out.data","wb"f.write(pBuf) 最佳答案 也许用ctypes.create_string_buffer()分配缓冲区会更好而不

C: 函数没有更新全局数组(使用 strcpy/malloc)

尝试从Windows中的目录获取文件名。通过名为list_files的函数执行此操作。该函数由于某种原因(或看起来像它)没有做任何事情,因为每当我打印数组时,它都是空的。我之前测试过这段代码,它运行良好。我一直在编码(这本来是一个更长的代码)我注意到每当我以后不得不使用数组时它返回0(什么都没有)voidlist_files();char*filesList[0][254];inti=0,n=0,l=254;chardirectory[]={"C:/Users/test/Downloads/test/"};intmain(){list_files();}voidlist_files()

c - 适用于 Windows 的 MALLOC_TRACE

在我们公司,我们有一个类似于mtrace的内部框架glibc中用于检测内存泄漏的(MALLOC_TRACE)功能。这个框架是为在Windows上运行而编写的,但它在GNU/Linux上运行得不是很好。那么,有人知道可以在Windows、GNU/Linux甚至MacOSX上运行的与mtrace(MALLOC_TRACE)等效的可移植版本吗? 最佳答案 你试过dmalloc吗?http://dmalloc.com/也许我认为在linux上valgrind要好得多 关于c-适用于Windows

c++ - 如何保证当一个进程调用malloc()时,它会立即分配物理内存?

我正在寻找一种方法来为进程预分配内存(物理内存),以便在我调用new/malloc时绝对保证它对C++堆可用。我需要此内存可供我的进程使用,而不管其他进程正在尝试使用系统内存做什么。换句话说,我想将物理内存保留到C++堆中,以便在我调用malloc()时立即可用。以下是详细信息:我正在开发一个实时系统。该系统由几个内存消耗大的进程组成。进程A是关键任务进程,它必须存活下来并且不受任何其他进程的不良行为的影响。它通常适合0.5GB的内存,但有时需要多达2.5GB的内存。其他进程尝试使用任意数量的内存。我担心的是其他进程可能会分配大量内存,耗尽系统中的物理内存储备。然后,当进程A需要更多内

windows - 为什么 malloc 会覆盖 RSP 和 RSP+8?

您可以阅读有关64位调用约定的信息here.x64函数应该自行清理,但是,当我从.asm调用malloc时,它会覆盖RSP和RSP+8处的值。这似乎是非常错误的。有什么建议吗?publicTestMallocexternmalloc:near.CODEalign8TestMallocprocmovrcx,100h000000018000BDB848C7C100010000movrcx,100hcallmalloc000000018000BDBFE8CCAC0600callmalloc(180076A90h)ret000000018000BDC4C3ret000000018000BDC5

c++ - 奇怪的 malloc 行为不允许在 64 位进程上分配超过 2GB 的内存

这个问题涉及我正在开发的一个程序。我从事的项目要求不通过网络发送行集或大于2GB的行(网络不能发送大于2GB的数据组)。我已经对代码进行了所有适当的更改,因此它不会发送这个/这些组,但现在我正在尝试构建测试用例。我已经构建了一个测试,它创建了不到10亿行,这些行占用了超过2GB的空间。在通过网络发送这些行之前,程序会正确地过滤掉它们。我遇到的问题是我需要创建一个单独的行来保存一个包含单个字符串的列或列的集合,在该行内,保存字符串,其中该行的大小大于2GB。但是当字符串开始占用接近2GB时,malloc返回NULL。我做了一些研究,发现可能是我没有足够的连续内存,所以我开始添加更多带有较

windows - Windows 内核中的 free/malloc 函数

我在哪里可以找到内核中的free和malloc函数?我确实包含了stdlib.h,但是free和malloc函数不在stdlib.h中。我在哪里可以找到这些功能?谢谢! 最佳答案 看看ExAllocatePoolWithTag.在OSR有一些讨论,如果您正在进行Windows内核编程,这是一个很好的资源。安装WindowsDriverKit/DDK用于本地主机上的所有开发文件和文档。 关于windows-Windows内核中的free/malloc函数,我们在StackOverflow上

php - php扩展中的malloc内存泄漏

我制作了一个php扩展,如下所示:PHP_FUNCTION(function_name){...proc_data=(char*)malloc(length);...RETURN_STRINGL(proc_data,length,1);}function_name是将在php代码中可用的函数,它返回一个字符串。但是这个字符串是使用malloc分配的内存,它会自动释放还是我必须做些什么。我知道emalloc,但如果我使用它会有什么不同?有更好的方法吗? 最佳答案 emalloc()使用php'sownmemoryallocator(针

java - Java 中有类似 malloc/free 的东西吗?

虽然我从未见过这样的语句,但它是否存在于java世界中? 最佳答案 malloc的Java版本是new--它创建指定类型的新对象。在Java中,内存是为您管理的,因此您不能显式删除或释放一个对象。 关于java-Java中有类似malloc/free的东西吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4404872/