別のプログラムから関数を呼び出す必要があります。他のプログラムがライブラリの場合、dlopen と dlsym を使用して関数のハンドルを取得できます。残念ながら、もう一方のプログラムは Unix Executable であり、ライブラリとしてビルドすることはできません。実行可能ファイルで dlopen() を試行すると、次のエラー メッセージが表示されます。
dlopen([...]/testprogram, 1): no suitable image found. Did find:
[...]/testprogram: can't map
dlopen は実行可能ファイルではなくライブラリで使用するためのものであるため、これは驚くべきことではありません。dlopen と dlsym を実行可能ファイルで動作させる方法はありますか? そうでない場合、同じことを達成する別の方法はありますか?