第1章 Linux系统编程入门:静态链接库的创建和使用

Posted C_YCBX Py_YYDS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第1章 Linux系统编程入门:静态链接库的创建和使用相关的知识,希望对你有一定的参考价值。

什么是库?

  • 库文件是计算机上的一类文件,可以简单的把库文件看成一种代码仓库,它提供给使用 者一些可以直接拿来用的变量、函数或类。
  • 库是特殊的一种程序,编写库的程序和编写一般的程序区别不大,只是库不能单独运行。
  • 库文件有两种,静态库和动态库(共享库),区别是:静态库在程序的链接阶段被复制 到了程序中;动态库在链接阶段没有被复制到程序中,而是程序在运行时由系统动态加 载到内存中供程序调用
  • 库的好处:1.代码保密 2.方便部署和分发

静态库的制作

一、静态库的命名规则

  • Linux : libxxx.a
    lib : 前缀(固定)
    xxx : 库的名字,自己起
    .a : 后缀(固定)
  • Windows : libxxx.lib

二、静态库的制作

  1. gcc命令获得 .o 文件。

  2. 将 .o 文件打包,使用 ar 工具(archive)
    ar rcs libxxx.a xxx.o xxx.o

    r – 将文件插入备存文件中

    c – 建立备存文件

    s – 索引

实践(生成静态链接库):

  1. 用于实验的目录文件
  2. 直接汇编成目标.o文件
  3. 将.o文件通过ar工具生成对应的静态链接库

静态库的使用

接过上一次生成的目录:

根据目录的观察可以得出,由于main函数中包含的head.h文件和它并非在同一目录层级,所以需要 -I(大写i) 命令进行目录的索引,而静态链接库同样也没在同一目录层级,需要 -L 命令进行索引。而在链接时加入静态库的链接可以通过 -l(小写L) 命令解决。

最终通过这一行命令生成可执行文件:(注意-l后面只需要输入lib后面的名字即可)

gcc main.c -o app -I./include -L./lib -lcal

成功编译执行程序:

以上是关于第1章 Linux系统编程入门:静态链接库的创建和使用的主要内容,如果未能解决你的问题,请参考以下文章

第1章 Linux系统编程入门:动态链接库的创建和使用

第1章 Linux系统编程入门:gcc和g++的使用

第1章 Linux系统编程入门——Linux开发环境搭建

Linux编程中链接库的使用

实验六 进程基础

实验六 进程基础