dylib中的重载运算符delete替换OSX中的系统运算符 我有一个用C++编写的DyLIB,它有一个重载的操作符new < /Cord>和删除< /C> >

dylib中的重载运算符delete替换OSX中的系统运算符 我有一个用C++编写的DyLIB,它有一个重载的操作符new < /Cord>和删除< /C> >,c++,cocoa,macos,operator-overloading,C++,Cocoa,Macos,Operator Overloading,当将我的cocoa应用程序与我的动态库链接时,我出现了一个访问错误,因为cocoa试图用我的操作符从我的动态库中删除来释放内存 所以我想我可以使用未报告的符号列表选项,但是操作符delete,delete[],new,new[],new(…)的修饰名称是什么?您可以使用nm工具从库中提取导出的符号,然后c++filt进行demangle,并找到与所述运算符相对应的符号。导出时,您不能将定义放在未命名的命名空间中以防止名称冲突吗?@Konrad,您不能在命名空间中实现运算符new。我以前也问过一个

当将我的cocoa应用程序与我的动态库链接时,我出现了一个
访问错误
,因为cocoa试图用我的
操作符从我的动态库中删除
来释放内存


所以我想我可以使用未报告的符号列表选项,但是
操作符delete,delete[],new,new[],new(…)的修饰名称是什么

您可以使用
nm
工具从库中提取导出的符号,然后
c++filt
进行demangle,并找到与所述运算符相对应的符号。

导出时,您不能将定义放在未命名的命名空间中以防止名称冲突吗?@Konrad,您不能在
命名空间中实现
运算符new
。我以前也问过一个问题。