【发布时间】:2011-10-10 21:41:57
【问题描述】:
我有一个用 C++ 编写的 dylib,它有一个重载的 operator new 和 delete。
当我的可可应用程序与我的 dylib 链接时,我有一个 BAD_ACCESS_ERROR,因为 Cocoa 尝试使用我的 dylib 中的 operator delete 释放内存。
所以我认为我可以使用 unexported_symbols_list 选项,但 operator delete, delete[], new, new[], new(..) 的修饰名称是什么?
【问题讨论】:
-
您不能将定义放在未命名的命名空间中以防止导出时出现名称冲突吗?
-
@Konrad,你不能在
namespace中实现operator new。 ideone.com/FIkn1。我也曾经问过一个关于它的问题。
标签: c++ cocoa macos operator-overloading