zoukankan      html  css  js  c++  java
  • Linux 下创建和使用静态库

    Linux 下使用 ar 工具(Windows 下vs使用lib.exe,将目标文件压缩到一起,并且对其进行编号和索引,以便于查找和检索),创建步骤如下图所示:

    Linux 下静态库命名规范, lib[your_library_name].a,其中lib为前缀,中间是静态库名,后缀名是 .a

    1. 将源文件编译成目标文件 .o (假设源文件为 Math.cpp)

     g++  -c  Math.cpp   执行此命令后,便会生成 Math.o 目标文件

    2. 然后用 ar 工具将目标文件打包成 .a 静态库文件

    ar  -crv  libmath.a  Math.o  执行此命令后,便会生成 libmath.a 静态库

    3. 使用该静态库

    g++  test.cpp -L./  -lmath  

    -L:指定该静态库的路径

    -l:指定链接时需要的库(编译器在查找链接库时,有隐含的命名规则,即在给出的名字前面加上 lib ,在后面加上 .a 或 .so 来确定库的名称,所以,我们只需要在-l后面加上 该静态库的名字就行)

    其中,-L和-l后面可以没有空格,有空格也是可以的

    通过上面简单的介绍,我们知道 静态库 可以达到代码的复用,那为什么还引入动态库呢?

    静态库的缺陷:

    (1)空间浪费

    (2)静态库对程序的更新,部署和发布也会带来麻烦,如果某个静态库更新了,所有使用它的应用程序都需要重新编译,发布给用户(对于玩家,只是一个很小的改动,却导致整个程序重新下载,很麻烦)

  • 相关阅读:
    Linux特殊权限分析(第二版)
    Linux用户配置文件(第二版)
    Vim/Vi实用技巧(第二版)
    Vim/Vi常用操作(第二版)
    GRUB与Linux系统修复(第二版)
    inittab文件剖析[CentOS 5.X](第二版)
    CentOS 6.X启动流程
    /etc/fstab文件出错,无法进入Linux系统
    Linux引导流程(第二版)
    Linux备份策略(第二版)
  • 原文地址:https://www.cnblogs.com/chen-cai/p/10518345.html
Copyright © 2011-2022 走看看