草庐IT

guard-malloc

全部标签

iphone - 如何找到 malloc "double free"错误的原因?

我正在用Objective-C编写一个应用程序,但我收到了这个错误:MyApp(2121,0xb0185000)malloc:***errorforobject0x1068310:doublefree***setabreakpointinmalloc_error_breaktodebug当我释放NSAutoreleasePool时会发生这种情况,但我无法确定我要释放两次的对象。如何设置他的断点?有没有办法知道这个“对象0x1068310”是什么? 最佳答案 当一个对象被“双重释放”时,最常见的原因是您(不必要地)释放了一个自动释放的

c++ - 在多线程 C/C++ 中,malloc/new 在分配内存时是否锁定堆

我很好奇如果两个线程同时请求分配内存是否存在内存分配锁。我正在使用OpenMP执行多线程、C++代码。操作系统:主要是linux,但也想了解Windows和Mac。 最佳答案 在某些实现中可能会有改进,例如创建特定于线程的缓存(在这种情况下,小块的分配将是无锁的)。例如,this来自谷歌。但总的来说,是的,内存分配是有锁的。 关于c++-在多线程C/C++中,malloc/new在分配内存时是否锁定堆,我们在StackOverflow上找到一个类似的问题: h

c++ - 在多线程 C/C++ 中,malloc/new 在分配内存时是否锁定堆

我很好奇如果两个线程同时请求分配内存是否存在内存分配锁。我正在使用OpenMP执行多线程、C++代码。操作系统:主要是linux,但也想了解Windows和Mac。 最佳答案 在某些实现中可能会有改进,例如创建特定于线程的缓存(在这种情况下,小块的分配将是无锁的)。例如,this来自谷歌。但总的来说,是的,内存分配是有锁的。 关于c++-在多线程C/C++中,malloc/new在分配内存时是否锁定堆,我们在StackOverflow上找到一个类似的问题: h

c++ - Malloc vs New for Primitives

我了解在C++中对malloc使用new的好处。但是对于原始数据类型(非数组)-int、float等特定情况,使用malloc是否比使用更快>新?虽然,如果我们要分配一个数组以便我们可以使用delete[],那么即使对于基元,也总是建议使用new。但是对于非数组分配,我认为int不会有任何构造函数调用?因为,new运算符分配内存,检查它是否已分配,然后调用构造函数。但是仅对于原始非数组堆分配,使用malloc是否比new更好?请指教。 最佳答案 切勿使用malloc在C++中。切勿使用new除非您正在实现低级内存管理原语。建议是:问

c++ - Malloc vs New for Primitives

我了解在C++中对malloc使用new的好处。但是对于原始数据类型(非数组)-int、float等特定情况,使用malloc是否比使用更快>新?虽然,如果我们要分配一个数组以便我们可以使用delete[],那么即使对于基元,也总是建议使用new。但是对于非数组分配,我认为int不会有任何构造函数调用?因为,new运算符分配内存,检查它是否已分配,然后调用构造函数。但是仅对于原始非数组堆分配,使用malloc是否比new更好?请指教。 最佳答案 切勿使用malloc在C++中。切勿使用new除非您正在实现低级内存管理原语。建议是:问

ruby-on-rails - rake 测试运行失败,因为无法加载 'guard'

我是Rails的初学者,正在学习Hartl的Rails教程。我已经到了第3章中的要点bundleexecraketest第一次。我收到此错误:$bundleexecraketest/Users/J/.rvm/gems/ruby-2.2.2/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in`require':cannotloadsuchfile--guard(LoadError)from/Users/J/.rvm/gems/ruby-2.2.2/gems/activesupport-4.2.1/lib/a

c++ - 为什么英特尔的 icc 的 malloc 比 new 慢 7 倍?

我在分配float组时对malloc与new进行了基准测试。我的理解是malloc执行的操作是new执行的操作的子集——malloc只是分配,但new分配和构造,尽管我不确定这对于原语是否有意义。使用gcc的基准测试结果给出了预期的行为。malloc()更快。甚至有一些问题与这个问题相反。使用iccmalloc可以比new慢7倍。怎么可能?!接下来的一切只是基准测试过程的细节。对于基准测试,我使用了最近描述的协议(protocol)byIntel.这是我的结果。使用GNU的gcc分配4000个float的数组时经过的时钟周期:newmemoryallocation,cycles1216

c++ - 为什么英特尔的 icc 的 malloc 比 new 慢 7 倍?

我在分配float组时对malloc与new进行了基准测试。我的理解是malloc执行的操作是new执行的操作的子集——malloc只是分配,但new分配和构造,尽管我不确定这对于原语是否有意义。使用gcc的基准测试结果给出了预期的行为。malloc()更快。甚至有一些问题与这个问题相反。使用iccmalloc可以比new慢7倍。怎么可能?!接下来的一切只是基准测试过程的细节。对于基准测试,我使用了最近描述的协议(protocol)byIntel.这是我的结果。使用GNU的gcc分配4000个float的数组时经过的时钟周期:newmemoryallocation,cycles1216

ruby-on-rails - 使用 guard-rspec 时如何忽略 rubocop 检查?

当我添加一个guard-rspecgem并将Guardfile设置为:guard:rspec,cmd:'bundleexecrspec'dowatch('spec/spec_helper.rb'){"spec"}watch('config/routes.rb'){"spec/routing"}watch('app/controllers/application_controller.rb'){"spec/controllers"}watch(%r{^spec/.+_spec\.rb$})end然后运行rubocop检查:rakerubocop:rubocop它显示:Guardfile:

ruby - 我可以在 ruby​​ 中设置 guard gem 以在 GNU 屏幕而不是 libnotify 中通知我吗?

我正在关注rails教程,但我是在服务器上做的。现在,我正在使用Guardgem来监视我的更改并执行测试。据我所知,如果测试失败或成功,它通常会使用libnotify通知我。现在,我希望它改为在我的GNU屏幕实例上通知我。有没有办法做到这一点?来自this链接(Guard文档)我不确定,但我是ruby初学者,无论如何我都需要问。 最佳答案 编写一个Guard通知程序对于future的Ruby开发人员来说是一个很好的练习。首先你forkGuard,克隆项目并在lib/guard/notifiers/screen.rb中创建一个新的通知