什么是动态链接库

动态库是一个文件,在 linux 中通常以 .so 结尾,在 windows 中通常以 .dll 结尾,在应用程序执行时,会将需要的动态库一同加载到内存,形成完整的程序。linux 中动态库以 ELF 格式存储。

linux 常见动态链接库

  • ld-linux-x86-64.so 负责动态链接库的加载,没有它就无法加载动态链接库 (libc)。
  • crt*.o 是 C Runtime 的缩写,即 C 程序运行所必须的一些环境,例如程序的入口函数 _start (二进制文件并不是从 main 开始执行的!)、atexit 注册回调函数的执行等。
  • -lc 表示链接 glibc