1

オブジェクトの1つがシンボルを定義する静的ライブラリがあります。

nm mylib.a
...
00007340 t _a_local_symbol
...

C コードから関数にアクセスする必要があります。明らかに、ライブラリのソース コードを持っていないので、手元にあるアーカイブ ファイルでしか作業できません。

これは、iOS リンカーによってさらに制限されます。

もう少しコンテキスト。ライブラリは Objective-C++ で、問題の関数は純粋な C です。元のヘッダーはありませんが、関数の署名が復元されています。

4

1 に答える 1

0

objcopyあなたが望むことをするためのフラグがあります:

--globalize-symbol <name> Force symbol <name> to be marked as a global

ただし、objcopy が iOS オブジェクト ファイルで機能するかどうかはわかりません。

于 2012-08-16T06:54:20.740 に答える