0

私はc ++で作業しており、LD_DEBUG環境変数を使用して、次のようにライブラリのロードシーケンスを取得しました。

export LD_DEBUG=libs

そして、プログラムを実行しました。以下は、出力のスニペットです。

|       3652:   find library=libc.so.6 [0]; searching
|       3652:    search cache=/etc/ld.so.cache
|       3652:     trying file=/lib/i386-linux-gnu/i686/cmov/libc.so.6
|       3652:   
|       3652:   
|       3652:   calling init: /lib/i386-linux-gnu/i686/cmov/libc.so.6
|       3652:   calling init: /lib/i386-linux-gnu/mySo.so.1

上記の出力ステートメントで「init を呼び出す」の意味を教えてください。

4

1 に答える 1

1

calling init初期化関数 (__attribute__((constructor))静的イニシャライザやその他のセットアップ関数など) がそのライブラリで呼び出されていることを意味します。

于 2013-02-27T11:31:41.350 に答える