我正在研究 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
谁能告诉我,上面输出语句中的“calling init”是什么意思?
最佳答案
调用 init
意味着正在该库中调用任何初始化函数(例如 __attribute__((constructor))
、静态初始化器和其他设置函数)。
关于c++ - LD_DEBUG 输出中的 "calling init:"是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15110974/