JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... さらに依存関係がある場合などは この処理は再帰的に行われる)。 flag には以下の 2 つの値のいずれかを含めなければならない: RTLD_LAZY lazy binding (手抜きなシンボルの結び付け) が行う。 シンボルの解決はそのシンボルを参照するコードが実行されるときにのみ 行わ ... れる。シンボルが一度も参照されなかった場合には、そのシンボルは 解決されないままとなる。 (lazy binding は関数参照についてのみ実施される; 変数への参照は常に ライブラリがロードされた時点で直ちに解決される。) RTLD_NOW こ ... ルーチンは一度だけ呼び出される ( _init () が存在する場合のみ)。 RTLD_NOW が指定されて dlopen () が呼び出された場合、 RTLD_LAZY で以前にロードされたライブラリのシンボル解決が実行されることがある。 dlopen () は、何らかの理由で失敗すると NULL を返す。 ... ... ルシンボルも、 ダイナミックにロードされるライブラリへの参照解決に用いられる。 flag は以下のいずれかでなければならない: RTLD_LAZY はダイナミックライブラリのコードが実行される際に 未定義シンボルを順次解決していくことを示し、 RTLD_NOW は dlopen の処理の最 ... 、2.0 の余弦を表示する。 #include < dlfcn.h > int main(int argc, char **argv) { void *handle = dlopen ("/lib/libm.so", RTLD_LAZY); double (*cosine)(double) = dlsym(handle, "cos"); printf ("%f\n", (*cosine)(2.0)); dlclose(handle); } このプログラムを "f ... t main(int argc, char **argv) { void *handle; double (*cosine)(double); char *error; handle = dlopen ("/lib/libm.so", RTLD_LAZY); if (!handle) { fputs (dlerror(), stderr); exit (1); } cosine = dlsym(handle, "cos"); if ((error = dlerror()) != NULL) { ... ... ルシンボルも、 ダイナミックにロードされるライブラリへの参照解決に用いられる。 flag は以下のいずれかでなければならない: RTLD_LAZY はダイナミックライブラリのコードが実行される際に 未定義シンボルを順次解決していくことを示し、 RTLD_NOW は dlopen の処理の最 ... 、2.0 の余弦を表示する。 #include < dlfcn.h > int main(int argc, char **argv) { void *handle = dlopen ("/lib/libm.so", RTLD_LAZY); double (*cosine)(double) = dlsym(handle, "cos"); printf ("%f\n", (*cosine)(2.0)); dlclose(handle); } このプログラムを "f ... t main(int argc, char **argv) { void *handle; double (*cosine)(double); char *error; handle = dlopen ("/lib/libm.so", RTLD_LAZY); if (!handle) { fputs (dlerror(), stderr); exit (1); } cosine = dlsym(handle, "cos"); if ((error = dlerror()) != NULL) { ... ... ルシンボルも、 ダイナミックにロードされるライブラリへの参照解決に用いられる。 flag は以下のいずれかでなければならない: RTLD_LAZY はダイナミックライブラリのコードが実行される際に 未定義シンボルを順次解決していくことを示し、 RTLD_NOW は dlopen の処理の最 ... 、2.0 の余弦を表示する。 #include < dlfcn.h > int main(int argc, char **argv) { void *handle = dlopen ("/lib/libm.so", RTLD_LAZY); double (*cosine)(double) = dlsym(handle, "cos"); printf ("%f\n", (*cosine)(2.0)); dlclose(handle); } このプログラムを "f ... t main(int argc, char **argv) { void *handle; double (*cosine)(double); char *error; handle = dlopen ("/lib/libm.so", RTLD_LAZY); if (!handle) { fputs (dlerror(), stderr); exit (1); } cosine = dlsym(handle, "cos"); if ((error = dlerror()) != NULL) { ... ... ルシンボルも、 ダイナミックにロードされるライブラリへの参照解決に用いられる。 flag は以下のいずれかでなければならない: RTLD_LAZY はダイナミックライブラリのコードが実行される際に 未定義シンボルを順次解決していくことを示し、 RTLD_NOW は dlopen の処理の最 ... 、2.0 の余弦を表示する。 #include < dlfcn.h > int main(int argc, char **argv) { void *handle = dlopen ("/lib/libm.so", RTLD_LAZY); double (*cosine)(double) = dlsym(handle, "cos"); printf ("%f\n", (*cosine)(2.0)); dlclose(handle); } このプログラムを "f ... t main(int argc, char **argv) { void *handle; double (*cosine)(double); char *error; handle = dlopen ("/lib/libm.so", RTLD_LAZY); if (!handle) { fputs (dlerror(), stderr); exit (1); } cosine = dlsym(handle, "cos"); if ((error = dlerror()) != NULL) { ... ... もありうる。 umount は libc をオープンするし、 libc はまた多くのファイル (locale ファイルなど) をオープンする可能性がある。 lazy アンマウントにより、この問題は回避できる。 umount コマンドのオプションは以下の通り: -V バージョンを表示して終了する。 -h ヘ ... たことになる。 -f 強制的にアンマウントする (到達不可能な NFS システムの場合)。 (カーネル 2.1.116 以降である必要がある。) -l lazy アンマウント。 現在のファイルシステムの階層構造から指定されたファイルシステムを切り離し、 ファイルシステムへの全ての参照が ... ... ), fuse (since Linux 2.6.16), lustre (since Linux 3.11), and NFS (since Linux 2.1.116). MNT_DETACH (2.4.11 以降) Perform a lazy unmount: make the mount point unavailable for new accesses, immediately disconnect the filesystem and all filesystems moun ... ... ), fuse (since Linux 2.6.16), lustre (since Linux 3.11), and NFS (since Linux 2.1.116). MNT_DETACH (2.4.11 以降) Perform a lazy unmount: make the mount point unavailable for new accesses, immediately disconnect the filesystem and all filesystems moun ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。