私の質問は、Windows と Linux の両方の環境での動的ライブラリの読み込み (「abc.dll」または「abc.so」) に関連しています。
dll または共有メモリがあります。そして、このdll(abc.dllまたはabc.so)を使用する必要がある2つのアプリケーションがあります。これで、この dll (abc.dll または abc.so) のコピーを実行可能ファイルのそれぞれのフォルダーに配置しました。
/folder-one/app1.exe
/folder-one/abc.dll (resp. abc.so)
/folder-two/app2.exe
/folder-two/abc.dll (resp. abc.so)
今私が実行すると、その& 実行から -library (abc.dll または abc.so) がapp1.exe
ロードされます。
今私が実行すると、その& 実行から -library (abc.dll または abc.so) がロードされます。abc
folder-one
app2.exe
abc
folder-two
Q-1 ここで質問したいのは、両方のアプリケーションを実行すると、読み込まれた dll のコピーが 2 つあるということですか?
ローダーは、Linux と Windows の両方の環境で共有ライブラリ (abc.dll または abc.so) をメモリにロードします。 http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html
Q-2 共有ライブラリ (abc.dll または abc.so) をそれぞれのフォルダに個別にコピーすることのデメリットはありますか?
Q-3 両方のアプリケーションから単一の dll をロードしたい場合、(両方のアプリケーションがそれを見つけることができるように) 共通の場所はどこにあるべきですか?