私は2つの動的ライブラリa.soとb.so.を持っています。両方のライブラリには、各ライブラリに異なるコードを持つ関数f()が含まれています。この関数は、別の関数ga()およびgb()から各ライブラリで呼び出されます。重複シンボル動的ロード
また、dlopen()を使用してこれら2つのライブラリを動的にロードする実行可能プログラムもあります。このプログラムは、ある時点でga()とgb()を呼び出します。それぞれの場合にどのような関数f()が実行されますか?
これはすべてCコードなので、f()はa.soとb.soの両方で同じシンボルである必要があります。
コンパイルに特別なフラグは使用されませんでした。しかし、少し質問を簡略化しました。実際には、重複しているのは私にとってはあいまいなAdaコードなので、これは面倒です。 – juanrgar