c++ - dylib 中的重载运算符删除替换了 OSX 中的系统运算符

标签 c++ cocoa macos operator-overloading

我有一个用 C++ 编写的 dylib,它有一个重载的 operator newdelete

当我的 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/

相关文章:

c++ - 格式化读取文件数据C++

c++ - 可变参数函数——我什么时候应该使用 &&... 与 &...?

macos - NSOpenPanel 选择文件并填充 NSTableView

objective-c - OS X 中的 NSDataWritingFileProtectionComplete

C++ 不命名类型错误

c++ - 不同上下文中的 QtQuick 动态对象

objective-c - 从命令行运行 Xcode iOS 应用程序

mysql - 在 Mac OS 终端上,如何防止 mycli 将查询结果转发到文本查看器

macos - 为什么 zsh 中只有某些插件可以工作,而其他插件不能?

macos - 将 openSSL 添加到 Swift OS X 项目以进行收据验证