CSAPPと呼ばれる
Linuxシステムはシンプルなインターフェースを提供します。動的リンカーアプリケーションが実行時に共有ライブラリをロードしてリンクできるようにします。
#include <dlfcn.h> void *dlopen(const char *filename, int flag);
戻り値:成功した場合はハンドルポインタ、エラーがある場合はNULL
dlopen()
動的リンカーを呼び出して動的接続を実行しますかld-linux.so
?
ld-linux.so
動的接続を実行する動的リンカーを呼び出していますか?dlopen()
ありがとうございます。
ベストアンサー1
dlopen
で提供されますlibdl
が、その背後には、少なくとも提供されたシンボルを使用してld-linux.so
動的リンクを実行するGNU Cライブラリを使用して実装されています。dlopen
動的リンカーから呼び出された場合はすでにld-linux.so
ロードされているため、シンボルを直接使用し、静的リンカーから呼び出すとロードを試みますld-linux.so
。