0

サードパーティの実行可能ファイルにリンクする必要があるコンパイル済みオブジェクトを含むライブラリを維持しています。実行可能ファイルが Solaris 用にコンパイルされている場合もあれば、32 ビット Linux アプリケーションとしてコンパイルされている場合もあれば、64 ビット Linux アプリケーションとしてコンパイルされている場合もあります。私がやりたいのは、ライブラリに 1 つの「パス」を渡し、アプリケーションが自動的にライブラリの適切なフレーバーを取得するようにすることです。Linux でのみ動作する場合は問題ないので、OS の観点からパスを定義するだけで済みます。

この特定のケースは、verilog シミュレータにリンクしたい PLI/VPI 関数のライブラリ用です。

私が今持っているのは

root/path/${MYPLILIB_VER}/rootname/${MYPLIFLAVOR}/plilib.so

フレーバーは

solaris linux linux64

フレーバーは OS によって異なります。Linux の場合、64 ビット プラットフォームで実行している場合は、実行しているプログラムのバージョン 32/64 ビットによっても異なります。私はより良い方法を探しています..

4

3 に答える 3

1

うーん.. ELF が私のやりたいことをするように見える.. さて、いくつかの良いアプリケーション ノート..

そして、 DSO の作成に関するこの論文の最後のページには、$PLATFORM と $LIB の期待値に関する情報があります。

詳細については、こちらをご覧ください。

見当識障害者のための共有オブジェクト

于 2008-10-03T18:42:57.110 に答える
1

「uname」から与えられたシステム情報を使用して、パスを自動的に設定しますか?
'uname -s' はカーネル名 (Linux / SunOS など)
を提供します。'uname -i' はアーキテクチャ (x86 / x86_64 など) を提供します。

于 2008-10-03T18:29:09.260 に答える