草庐IT

malloc_ptr_t

全部标签

swift - 生成巨大随机数时出现 malloc 错误

我想获取一个从0到一个巨大数字(2^31)的随机元素。我尝试从这样的Range创建一个Array(这样我就可以使用Swift的Array.randomElement),如上所示here:让myArray:[Int64]=[Int64](0...4294967292)哪个编译,但崩溃:MyPoject(1569,0x100cc2f40)malloc:can'tallocateregionmach_vm_map(size=34359738368)failed(errorcode=3)MyProject(1569,0x100cc2f40)malloc:setabreakpointinmall

c++ - swift 3 中是否有等效的 c++ shared_ptr?

我知道swift3中的强引用(默认)和弱引用(使用weak关键字),但是是否有等效的共享引用?谢谢 最佳答案 Swift中的内存管理范式与C++不同,因为它继承了Objective-C的保留-释放机制(通过ARC)。如您所料,C++的解决方案减少了编译器的责任,更具表现力和优化,但使用起来也更复杂。因此,回答您的问题:strong(默认)基本上像shared_ptr一样工作,weak就像weak_ptr和unique_ptr没有直接的等价物。但是,如果编译器能够保证指针的唯一性(例如,您在同一范围内创建和销毁对象-就像函数的主体-而

c - 在 Swift 中释放 C-malloc() 的内存?

我正在使用Swift编译器的桥接header功能来调用使用malloc()分配内存的C函数。然后它返回指向该内存的指针。函数原型(prototype)是这样的:char*the_function(constchar*);在Swift中,我是这样使用它的:varret=the_function(("something"asNSString).UTF8String)letval=String.fromCString(ret)!请原谅我对Swift的无知,但通常在C中,如果the_function()是malloc内存并返回它,其他人需要在某个时候释放它。这是由Swift以某种方式处理的,还

java - C++:普遍使用 shared_ptr<> 是否等同于 gc?

这只是一个学术问题(我永远不会在实际代码中这样做):如果我要在我的代码中普遍使用shared_ptr,其行为是否等同于像Java这样的gc收集语言?如果不是,其行为与gc嵌入式语言有何不同?与gc嵌入式语言相比,哪种C++构造会产生等效的行为?注意:在实际编码中,我非常喜欢使用RAII和严格所有权,而不是使用任何智能指针。我也知道其他不太通用的指针unique_ptr会更有效率。这个问题只是对智能指针等价性的查询。 最佳答案 不,有几个重要的区别:只要有循环引用,就会发生内存泄漏。垃圾收集器可以处理循环,引用计数不能。您将避免任何停

python - c malloc数组指针在cython中返回

如何高效地将cython中的malloc数组指针(或numpy数组指针)返回给python3。只要我不返回数组指针,cython代码就可以完美运行我想:defdoublecomplex*randn_zig(intn):...r=malloc(n*n*sizeof(doublecomplex))...returnrc11(gcc11)等价物是:doublecomplex*randn_zig(intn){r=malloc(n*n*sizeof(doublecomplex))returnr}我试过了randn_zig(intn):和randn_zig(r,intn):和其他排列到目前为止都没

c++ - 如何使用 shared_ptr 和 SWIG 避免内存泄漏

我正在尝试使用boost::shared_ptr来允许我在我的python脚本中使用c++文件I/O流对象。但是,生成的包装器警告我它正在泄漏内存。这是一个展示问题的最小.i文件:%moduleptrtest%include"boost_shared_ptr.i"%include"std_string.i"%shared_ptr(std::ofstream)%{#include#includetypedefboost::shared_ptrofstream_ptr;ofstream_ptrmk_out(conststd::string&fname){returnofstream_ptr

python - 使用 MALLOC_MMAP_THRESHOLD_ 和 MALLOC_MMAP_MAX_ 减少内存碎片

我一直在试验MALLOC_MMAP_THRESHOLD_和MALLOC_MMAP_MAX_env变量来影响长时间运行的Python2进程中的内存管理。参见http://man7.org/linux/man-pages/man3/mallopt.3.html我从这个错误报告中得到了这个想法:http://bugs.python.org/issue11849我得到的结果令人鼓舞:内存碎片减少,长时间运行的进程使用的内存中可见的典型高水位线较低。我唯一担心的是,在使用如此低级别的调整时,是否还有其他可能反作用的副作用。有没有人有使用它们的经验?这是一个示例脚本,它显示了这些变量如何影响生成大

python - `tiny_malloc_from_free_list` 使我的指针成为 `NULL` ?

我正在编写包含bllipparser的代码Python模块等。为它提供相同的数据集,它会间歇性地崩溃(可能每三到十次运行一次)。通过lldb,我发现公共(public)领域weights的RerankerModel(source),显然只设置一次(在构造函数中),随机变为NULL(我在运行期间只有一个RerankerModel,所以应该只有一个weights,它始终保持不变)。所以我设置了一个伏击(我的意思是,一个观察点:我在构造函数和watchpointsetexpression-wwrite--&weights中停止了代码),显然使指针无效的罪魁祸首是tiny_malloc_fro

python - 从 scipy CSR 稀疏矩阵访问值、列索引和 row_ptr 数据

我有一个大矩阵,我想将其转换为稀疏CSR格式。当我这样做时:importscipyasspKs=sp.sparse.csr_matrix(A)printKsA是稠密的,我得到(0,0)-2116689024.0(0,1)394620032.0(0,2)-588142656.0(0,12)1567432448.0(0,14)-36273164.0(0,24)233332608.0(0,25)23677192.0(0,26)-315783392.0(0,45)157961968.0(0,46)173632816.0等...我可以使用以下方法获取行索引、列索引和值的向量:Knz=Ks.non

ios - 启用 guard malloc 时出现奇怪的错误

所以我尝试通过编辑我的方案来调试EXC_BAD_ACCESS错误,启用所有不同的检查。但是该死的编译器给我这个错误:dyld:couldnotloadinsertedlibrary'/usr/lib/libgmalloc.dylib'becauseimagenotfound我用谷歌搜索了一下,有人通过安装某种OSX组合安装程序(OSX10.7.3)解决了这个问题,但我已经在运行更新的版本了。我的Xcode是最新的,这里出了什么问题? 最佳答案 根据官方文档:https://developer.apple.com/library/ma