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 回答