Loading

【Linux系统编程】静态库与动态库

静态库与动态库

静态库的制作和使用

  1. 编写库文件源代码和头文件。
  2. 将所有需要做成库的源文件生成目标文件:gcc -c {filename}.c -o {filename}.o
  3. 用 ar 工具将要做成库的目标文件打包:ar rcs lib{库名}.a {filename-1}.o ... {filename-n}.o
  4. 将使用库的源文件与库文件一起编译:gcc {主文件}.c lib{库名}.a -o

动态库的制作和使用

  1. 编写库文件源代码和头文件。
  2. 生成位置无关的目标文件:gcc -c {filename}.c -o {filename}.o -fPIC
  3. 制作动态库:gcc -shared -o lib{库名}.so {filename-1}.o ... {filename-n}.o
  4. 编译主文件的源文件:gcc {filename}.c -o {filename}.o -l {库名} -L {库文件路径}
  5. 为了让程序在运行的时候能找到动态库需要进行以下处理:
    • 修改环境变量 LD_LIBRARY_PATH,将库文件的路径加入
    • 或者修改 /etc/ld.so.conf 配置文件,将库文件的路径加入,并使用 ldconfig -v 使配置文件生效
posted @ 2024-03-16 11:02  杨谖之  阅读(7)  评论(0编辑  收藏  举报