《程序员的自我修养——链接、装载与库》读书笔记—— 4.5 静态库链接

  • 一种语言的开发环境往往会附带有语言库(Language Library ) 。这些库就是
    对操作系统的API 的包装,如printf函数在linux下调用的是一个write系统调用,在Windows下是writeConsole系统API
  • 一个静态库可以简单地看成一组目标*.o文件的集合,为了便于管理,这些*.o文件被使用"ar"压缩程序压缩为.a文件。如 libc.a:
    zqxl@ubuntu:/usr/lib$ ar -t //usr/lib/x86_64-linux-gnu/libc.a
    init-first.o
    libc-start.o
    sysdep.o
    version.o
    check_fds.o
    ... ...
    
  • 在静态库中,通常一个目标文件只包含一个函数,如printf.o 只有printf(),
    strlen.o 只有strlen()。这是因为链接静态库时是以目标文件为单位,最小封装可以避免将没用的函数链接进来。

你可能感兴趣的:(《程序员的自我修养——链接,装载与库》读书笔记,linux,嵌入式,c语言,elf,静态库)