1
我有一個專門的共享庫,在執行可執行文件期間動態加載。該庫提供了功能b()
。這個函數又調用一個函數a()
。將dyld鏈接到可執行文件本身的函數?
a
函數是在可執行文件中定義的,而不是庫本身,所以我希望能夠從庫中調用我的一些可執行代碼。我已經成功地使用-undefined dynamic_lookup
標誌,使鐺離開這些符號延遲綁定,但是當我嘗試運行可執行dyld的仍然抱怨:
dyld: lazy symbol binding failed: Symbol not found: _a
Referenced from: /usr/local/lib/myLib.dylib
Expected in: flat namespace
我怎樣才能得到這個符號鏈接?
爲什麼不''dlopen()'可執行文件和'dlsym()'函數?我不認爲目前的做法是可行的。 – 2013-02-03 10:01:28
@ H2CO3我已經在加載庫了。我的目標是然後能夠調用駐留在加載庫的可執行文件中的函數。 –
再次閱讀我的評論。 「爲什麼不'dlopen()**可執行文件**?」 – 2013-02-03 10:03:04