我有一个用 C++ 编写的 dylib,它有一个重载的 operator new
和 delete
。
当我的 cocoa 应用程序与我的 dylib 链接时,我有一个BAD_ACCESS_ERROR
,因为 Cocoa 试图通过我的 operator delete
从我的 dylib 中释放内存。
所以我认为我可以使用 unexported_symbols_list 选项,但是 operator delete, delete[], new, new[], new(..)
的修饰名是什么?
最佳答案
您可以使用 nm
工具从您的库中提取导出的符号,然后使用 c++filt
进行分解,然后找到哪些对应于提到的运算符。
关于c++ - dylib 中的重载运算符删除替换了 OSX 中的系统运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6787943/