2011-07-22 9 views
4

Cylinderで記述されたdylibは、オーバーロードされたoperator newdeleteです。OSXのシステムオペレータの代わりに、dylibのオーバーロードされた演算子が削除されました。

私のdylibと私のココアアプリケーションをリンクすると、ココアは私のdylibから私のoperator deleteでメモリを解放しようとしているので、BAD_ACCESS_ERRORがあります。

私はunexported_symbols_listオプションを使用できますが、operator delete, delete[], new, new[], new(..)の装飾名は何ですか?

+0

エクスポート時に名前の衝突を防ぐために名前のない名前空間に定義を挿入できませんか? –

+1

@Konrad、 'namespace'の中に' operator new'を実装することはできません。 http://www.ideone.com/FIkn1。私はまたそれについていつか質問をした。 – iammilind

+0

@iammilindああ、撃つ。 –

答えて

1

nmツールを使用してlibからエクスポートされたシンボルを抽出し、c++filtをデマングルして、上記の演算子に対応するものを見つけることができます。

関連する問題