Linux环境编程之:操作系统环境介绍

本文详细介绍了如何在Linux环境中构建和使用静态库与共享库。对于静态库,步骤包括编译目标文件和打包生成静态库,使用时可直接链接或通过指定库路径。共享库的制作涉及编译生成位置无关代码的目标文件和创建共享库,其使用需考虑默认加载路径。辅助工具如ldd用于查看依赖,nm展示符号列表,strip则用于减小文件大小。
摘要由CSDN通过智能技术生成

在这里插入图片描述

重点之静态库与共享库的构建和使用:

1、静态库

  • 制作静态库:
    1、编译出目标文件
    gcc -c code.c
    2、打包目标文件生成静态库
    ar -r libxxx.a a.o b.o c.o…
    注意:库名格式必须是libxxx.a
  • 使用静态库:
    1、直接使用
    gcc code.c libxxx.a
    2、指定库文件的位置
    -L 指定库的路径 -l指定库名 【库名去掉前缀和后缀 -lxxx】
    3、通过设置环境变量的方式来指定库的查找路径 -l指定库名
    打开配置文件:vim ~/.bashrc
    在文件末尾添加:export LIBRARY_PATH=$LIBRARY_PATH:路径
    保存退出并重新加载:source ~/.bashrc
    注意:如果是删除环境变量,需要关闭终端、再打开
    直接使用静态库:gcc code.c -lxxx

2、共享库

  • 制作共享库:
    1、编译生成目标文件
    gcc -fpic -c code.c
    fpic:位置无关
    2、生成共享库
    gcc -shared -fpic a.o b.o c.o… -o libxxx.so
  • 使用共享库:
    1、直接使用
    gcc code.c libxxx.so
    注意:失败是因为执行共享库时,默认的加载路径是/lib
    2、指定库文件的位置
    -L 指定库的路径 -l指定库名 【库名去掉前缀和后缀 -lxxx】
    3、通过设置环境变量的方式来指定库的查找路径 -l指定库名
    打开配置文件:vim ~/.bashrc
    在文件末尾添加:export LIBRARY_PATH=$LIBRARY_PATH:路径
    保存退出并重新加载:source ~/.bashrc
    gcc code.c -lxxx

3、辅助工具

ldd 查看可执行程序依赖哪些共享库 ldd ./a.out
nm 查看目标文件、可执行文件、静态库、共享库中的符号列表
strip 减肥,删除目标文件、可执行文件、静态库、共享库中的符号列表
objdump 显示目标文件、可执行文件、静态库、共享库的反汇编信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值