问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

使用GCC编译器生成静态链接库并进行使用

创作时间:
作者:
@小白创作中心

使用GCC编译器生成静态链接库并进行使用

引用
CSDN
1.
https://m.blog.csdn.net/keeplearning_10/article/details/145037656

静态链接库是C/C++开发中常用的一种代码复用方式,它能够将多个目标文件打包成一个库文件,便于在多个项目中重复使用。本文将详细介绍如何使用GCC编译器生成静态链接库,并通过一个简单的示例演示其使用方法。

静态链接库生成步骤

  1. 在桌面生成一个文件夹,目录结构如下:
  • calc.h

    #include <iostream>
    using namespace std;
    void add(int a, int b);
    void mul(int a, int b);
    
  • add.cpp

    #include "..\include\calc.h"
    void add(int a, int b)
    {
        cout << a + b << endl;
    }
    
  • mul.cpp

    #include "..\include\calc.h"
    void mul(int a, int b)
    {
        cout << a * b << endl;
    }
    
  1. test/src文件夹下打开终端,输入以下命令,将.cpp文件编译成.o文件:

    gcc -c add.cpp mul.cpp
    

    这样会在src目录下生成add.omul.o文件。

  2. 生成静态库。在终端中输入以下命令,将.o文件打包成静态库文件libcalc.a

    ar -rcs libcalc.a add.o mul.o
    

    到此,静态库就生成完毕了。

静态库使用测试

  1. 新建一个文件夹,将之前的.h文件和.a文件放入,并编写一个测试文件main.cpp,目录结构如下:
  • main.cpp
    #include "calc.h"
    int main()
    {
        int a = 5;
        int b = 6;
        add(a, b);
        mul(a, b);
    }
    
  1. 在该文件夹下打开终端,输入以下命令,将main.cpp编译成可执行文件test

    gcc main.cpp -o test -L .\lib -l calc -I .\include -lstdc++
    

    这样会在当前目录下生成一个test.exe文件。

  2. 执行test.exe文件。在终端中输入以下命令运行可执行文件:

    ./test.exe
    

    运行结果如下:

    从输出结果可以看出,静态库中的函数已经被正确调用。

本文详细介绍了如何使用GCC编译器生成静态链接库并进行使用。通过这个简单的示例,读者可以掌握静态库的基本使用方法。这对于C/C++开发人员来说是一个非常实用的技能,能够帮助他们更好地组织和复用代码。

本文原文来自CSDN

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号