2017-03-27 8 views
2

ライブラリを動的にリンクするときは、読み込み時にフォールバックシンボルがない場合に備えてフォールバックシンボルを指定する方法があります。動的リンクにフォールバックシンボルを指定する

たとえば、mxCreateNumericArrayの代わりにMEXファイルを編集するmxCreateUninitNumericArray(同じ署名付き)に電話したいと思います。しかし、後者は古いMATLABバージョンには存在しません。 mxArrayToStringmxArrayToUTF8Stringと同じです。

MSVCの場合、/ DELAYLOADを使用して、の__pfnDliFailureHook2にフックすると、簡単なマッピングができました。しかし、私はUnixベースのシステムで何ができますか?

同様の方法でlibldにフックする方法は?

+0

多分(HTTP [GCCとの弱いリンクを動作させるには?]://あなたに役立つことができるstackoverflow.com/questions/274753/how-to-make-weak-linking-work-with-gcc) – Trilarion

答えて

2

私は、ダイナミックリンカにフックすることができたが、弱いシンボルを提供することは、このように私を助けていませんでした:

extern "C" 
char * __attribute__ ((weak)) mxArrayToUTF8String(mxArray const * array) 
{ 
    return mxArrayToString(array) ; 
} 
関連する問題