码迷,mamicode.com
首页 > 其他好文 > 详细

静态库的制作和使用

时间:2020-11-01 21:59:26      阅读:14      评论:0      收藏:0      [点我收藏+]

标签:链接库   -o   创建   静态链接   main   切换   主函数   div   http   

静态库的制作和使用

  • 命名规则:libtest.a(加粗的地方是格式不可以更改)

    • lib
    • xxx -库的名字(自己取)
    • .a
  • 制作步骤

    • 源代码:.c/.cpp

    • 将.c文件生成.o

      • gcc a.c b.c -c
        技术图片
    • 将.o打包

      • ar rcs 静态库名字 原材料
      • ar rcs libtest.a a.o b.o
      • ar archive(将目标文件打包为静态链接库)
  • 示例

    • 创建三个文件 include文件放置头文件等 lib文件放置静态链接库 src文件放置源代码
      技术图片
    • 在src文件下创建四个.c代码(vi -O add.c div.c mul.c sub.c)
      技术图片
    • 在include文件下创建head.h
      技术图片
    • 在src文件下将.c生成.o (gcc *.c -c -I ../include/)
      技术图片
    • 在src文件下将.o文件打包成静态链接库(生成之后可以用nm命令查看静态库)
      技术图片
    • 在生成的静态链接库复制到lib文件下
      技术图片
    • 补充vim技巧
      • gcc -I(小写的i)寻找头文件的目录
      • vi -O 是垂直分屏,-o是水平分屏;
        qall是同时关闭所有的,wall是同时写入所有的,ctrl + w w(按两次w)可以在不同的窗口切换;
        在非输入情况下,按下两次yy可以复制当前行,按下p可以粘贴到光标当前行。
  • 库的使用

    • gcc main.c -I ./include/ -L ./lib/ -lmycasl -o app
      • -I:指定库的路径
      • -l:指定库的名字,去掉lib和.a
  • 示例

    • 创建主函数将之前封装好的函数调用起来
      技术图片
      技术图片
    • gcc main.c -I ./include/ -L ./lib/ -lmycasl -o app app可以根据需要取名字
      技术图片
      若生成的可执行文件可执行证明静态库制作完毕

总结

  • 程序编译一般需经预处理、编译、汇编和链接几个步骤。静态库特点是可执行文件中包含了库代码的一份完整拷贝;缺点就是被多次使用就会有多份冗余拷贝。
  • 静态库在程序的链接阶段被复制到了程序中,和程序运行的时候没有关系

静态库的制作和使用

标签:链接库   -o   创建   静态链接   main   切换   主函数   div   http   

原文地址:https://www.cnblogs.com/kevinkala/p/13909269.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!