Linux下g++编译以及使用静态库和动态库的方法详解


本文摘自PHP中文网,作者黄舟,侵删。

下面小编就为大家带来一篇php.cn/wiki/1497.html" target="_blank">Linux下g++编译与使用静态库和动态库的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

在windows环境下,我们通常在IDE如VS的工程中开发C++项目,对于生成和使用静态库(*.lib)与动态库(*.dll)可能都已经比较熟悉,但是,在linux环境下,则是另一套模式,对应的静态库(*.a)与动态库(*.so)的生成与使用方式是不同的。刚开始可能会不适应,但是用多了应该会习惯这种使用,因为步骤上并没有VS下配置那么繁琐。

下面就分别总结下linux下生成并使用静态库与动态库的方法:(由于是C++项目,所以编译器用的g++,但是与gcc的使用是相通的)

首先是准备工作,把我们需要封装成库文件的函数的头文件与源文件写好,如下:

1

2

3

//myAPI.h

int ADD(int a, int b);

int MINUS(int a, int b);

1

2

3

4

5

6

7

8

9

10

//myAPI.cpp

#include "myAPI.h"

  

int ADD(int a, int b){

  return a + b;

}

  

int MINUS(int a, int b){

  return a - b;

}

接下来准备一个测试用的主函数源文件:

1

2

3

4

5

6

7

8

9

//main.cpp

#include "myAPI.h"

#include <iostream>

  

int main(){

  std::cout << "1 + 1 = " << ADD(1, 1) << std::endl;

  std::cout << "1 - 1 = " << MINUS(1, 1) << std::endl;

  return 0;

}

最后,先编译我们的 myAPI.cpp 文件生成 myAPI.o 目标文件

1

g++ -c myAPI.cpp

1.生成静态库并使用

阅读剩余部分

相关阅读 >>

详解xshell是如何连接Linux(图文)

Linux下mysql无法访问问题排查的基本步骤

Linux虚拟机用什么

如何使用更换系统盘和磁盘扩容进行磁盘扩容功能

Linux连不上网

Linux如何登录

解决Linux中unzip解压时中文乱码

学习Linux,为什么要用虚拟机

如何从一台实例上卸载一块按量付费磁盘

获取一台实例的系统命令行输出并且数据以base64编码后返回

更多相关阅读请进入《Linux》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...