LD_DEBUG输出中的"calling init:"是什么?

What is "calling init:" in LD_DEBUG output?

本文关键字:calling init 是什么 DEBUG 输出 LD      更新时间:2023-10-16

我在做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"是什么意思?

calling init表示在该库中调用任何初始化函数(例如__attribute__((constructor)),静态初始化函数和其他设置函数)。