Linux で共有ライブラリを使用している場合、アプリケーションが実行時にライブラリを見つけなければならないのに、なぜ -l でリンクする必要があるのですか?
リンクステップ中に適切な関数シグネチャを使用してダミーの .so を渡し、実行時に実際の .so に置き換えても、正しく動作することはできませんか?
ヘッダー ファイルだけでアプリケーションをコンパイルし、実行時にリンクを実行する方法はありますか?
Linux で共有ライブラリを使用している場合、アプリケーションが実行時にライブラリを見つけなければならないのに、なぜ -l でリンクする必要があるのですか?
リンクステップ中に適切な関数シグネチャを使用してダミーの .so を渡し、実行時に実際の .so に置き換えても、正しく動作することはできませんか?
ヘッダー ファイルだけでアプリケーションをコンパイルし、実行時にリンクを実行する方法はありますか?
Linuxで共有ライブラリを使用している場合、アプリケーションが実行時にライブラリを検索する必要があるのに、なぜそれを-lとリンクする必要があるのですか?
ローダーが実行時にロードする必要のあるライブラリを認識できるようにします。
リンク手順中に適切な関数シグネチャを使用してダミーの.soを渡し、実行時に実際の.soに置き換えても、正しく機能させることはできませんか?
絶対。
ヘッダーファイルだけでアプリケーションをコンパイルし、実行時にリンクを実行する方法はありますか?
はい。ただし、ライブラリと関数をロードするのはあなた自身の責任です。dlopen(3)
dlsym(3)