草庐IT

malloc_ptr_t

全部标签

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。我做了一些研究,发现可能是我没有足够的连续内存,所以我开始添加更多带有较

c++ - boost 文件系统错误(temp_directory_path 返回 <Bad Ptr>)

我正在尝试使用Boost获取当前的临时文件夹:boost::system::error_codeerror;autotmp_path=boost::filesystem::temp_directory_path(error);if(boost::system::errc::success!=error.value()){std::cout在visualstudio2013调试session期间调查tmp_path的值时,tmp_path的值似乎不正确-VS显示{m_pathname=}.以下代码也失败,出现异常“stringtoolong”,这可能与问题有关:std::stringtm

windows - 使用 dnscmd 删除 Windows DNS PTR 条目

在WindowsDNS服务器上,我可以使用以下powershell命令添加资源记录并自动为反向查找区域创建相应的PTRDNS命令。/recordaddmgmt.testrhel1/CreatePTR10.0.0.1有没有办法像上面那样用一个命令删除它们?简而言之,是否有与/createPTR相反的dnscmd开关?像/removePTR或/deletePTR这样的东西?找不到任何这样说的文档 最佳答案 只需确保提供要从反向查找区域中删除的地址:dnscmd./recorddeletemgmt.testrhel1A10.0.0.1

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

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

javascript - WebAssembly 链接错误 : import object field 'DYNAMICTOP_PTR' is not a Number

以下C文件使用emscripten编译为wasm:intcounter=100;intcount(){counter+=1;returncounter;}$emcccounter.c-ocounter.wasm-sWASM=1-sSIDE_MODULE=1没有问题。然后我让webpack加载wasm文件(使用wasm-loader)作为UInt8Array:varbuffer=newArrayBuffer(648);varuint8=newUint8Array(buffer);uint8.set([0,97,115,109,1,0,0,0,0,12,6,100,121,108,105,

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/

c++ - C/C++ 指针,ptr+1 = ptr +1 byte 还是 ptr+1*sizeof(pointer_type)?

有any_type*ptr=(any_type*)malloc(sizeof(any_type)*size);my_ptr=ptr+1;memcpy(dst,my_ptr,sizeof(any_type));my_ptr会指向ptr之后的1个字节,还是指向ptr之后的sizeof(any_type)字节?对齐选项如何影响答案?有符号/无符号类型是否不同? 最佳答案 指针运算是在指针的静态类型[*]的大小上进行的,所以它会有效地添加sizeof*ptr。成员的对齐方式将作为类型的对齐方式(对象末尾的填充)考虑到对象的大小。struct

c++ - malloc/new 是否从缓存或 RAM 返回内存块?

我想知道malloc/new是否从缓存或RAM返回内存块。提前致谢。 最佳答案 当作为操作系统中的进程生活时,您对所有这些都是抽象的,您只获得内存。您不必为此担心,操作系统会为您管理所有这些,而内存单元会将事物从一个转移到另一个。但是您仍然看到一个单一的虚拟内存布局。 关于c++-malloc/new是否从缓存或RAM返回内存块?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1