すべてのCコードでは、libA.soとlibB.soの2つのライブラリをロードすることができる1つのLinux Gnomeプロセスがあります。Linuxプロセス:2つのライブラリ間で変数を動的に共有する
libAはグローバル変数int varAをエクスポートする必要があります。
libBは、プロセスにlibAが存在する場合にのみ、varAにアクセスする必要があります。
libBがLIBAとリンクしてはならない:
は、どのように私は次の制約でそれを行うことができます。また、プロセスがlibBのみをロードし、libAには決して触れない可能性があります。プロセスのソースコードにコードは存在しないように、プロセスを制御しません。 libBのコードだけが許可されています。プロセスにlibAが存在するかどうかを確認する必要があります。その場合、varAにアクセスする必要があります。 libAが存在しない場合、libBはvarAにアクセスできないことを認識する必要があります。
私はg_module_open/g_module_symbolを使用することを考えていましたが、私はそれが望ましくないlibAをロードすると思います。 libAが存在する場合、プログラムでlibBをチェックして、その場合にのみvarAにアクセスできますか?