example.h
libexample.so

如下图所属:

现在写一个.cpp

源码如下:

main.cpp

#include "example.h"int main(){print(10,30);return 0;
}

文件路径如下:

编译:
g++  ‐c main.cpp ‐o main.o 
链接:
g++ main.o ‐o helloworld ‐L. ‐lexample
链接选项:
‐lexample  使用libexample.so这个库文件
‐L.  指定库文件的位置

运行截图如下:

./helloworld
通常会提示无法运行程序:
libexample.so: ...: No such file or directo

操作系统默认从标准位置寻找相应的库
/lib  /usr/lib  /usr/local/lib
如果没有找到依赖的库文件,则从
LD_LIBRARY_PATH环境变量里寻找。

先使用export命令设置环境变量, 然后再运行
程序。
export LD_LIBRARY_PATH=.
./helloworld

如下图:

这样就阔以运行了,运行截图如下:

拿到一个可执行程序,怎么知道它依赖哪些库呢?
readelf ‐d helloworld

如下图:

关键是看他的NEEDED属性:

如:

libexample.so

libstc++.so

libm.so

libgcc_s.so

libc.so

检索代码!

ls /usr/lib | grep libstdc++

运行截图如下:

Linux学习笔记-动态库的使用相关推荐

  1. Linux学习笔记-动态库的生成

    库分为两种: (1)共享库 Shared Library  (2)静态库 Static Library 通常共享库也称为动态库. 使用g++命令来生成动态库编译,生成.o文件 (编译选项 ‐fPIC  ...

  2. 【Linux学习】动态库和静态库

    目录 一.动静态库的概念和原理 1. 认识动静态库 2. 动静态库的概念 3. 动静态库的原理 二.动静态库的生成与打包 1. 静态库的生成与打包 2. 动态库的生成与打包 三.动静态库的使用 1. ...

  3. C语言学习笔记--动态库和静态库的使用

    link 1.C语言中的链接器 (1)每个 C 语言源文件被编译后生成目标文件,这些目标文件最终要被链接在一起生成可执行文件. (2)链接器的主要作用是把各个模块之间相互引用的部分处理好,使得各个模块 ...

  4. Linux学习笔记-标准库中的管道操作

    目录 理论 例子 理论 stdio.h里面有标志库管道操作 FILE *popen(const char* cmdstring, const char *type);返回值:成功返回文件指针,出错返回 ...

  5. linux添加自己的库,Linux学习笔记——例叙makefile 增加自定义共享库

    Linux学习笔记--例说makefile 增加自定义共享库 0.前言 从学习C语言开始就慢慢开始接触makefile,查阅了很多的makefile的资料但总感觉没有真正掌握makefile,如果自己 ...

  6. Linux学习笔记(一)|目录结构

    Linux学习笔记(一) #一.Linux的目录结构 Linux采用层级式的树状目录结构,根目录为"/",在此目录下创建其他目录. /lib 系统开机所需要最基本的动态链接共享库 ...

  7. Linux学习笔记-随即更新-慢速学习

    Linux学习笔记 Linux系统简介 UNIX发展历史和发行版本 开源软件简介 支撑互联网的开源技术 Linux应用领域 Linux学习方法 Linux系统安装 给初学者的建议 学习linux的注意 ...

  8. Linux 学习笔记2 常用命令

    Linux 学习笔记1 安装linux详细教程_O丶ne丨柒夜的博客-CSDN博客 Linux_目录结构 基本介绍 1.liux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录&quo ...

  9. Linux学习笔记之——Linux系统内部相关介绍

    Linux学习笔记之--Linux系统内部相关介绍 摘要:主要记录一些比较有用的能够帮助理解和使用Linux的知识.比如一些相关概念.没兴趣的看看就好.知道有这么个东西.注意事项.和一些常用目录的作用 ...

最新文章

  1. 自我总结(四) ---java web项目完结,j2ee的开始
  2. 前端框架-Bootstrap
  3. AXURE RP EXTENSION For Chrome
  4. [SCOI2008]着色方案(DP)
  5. 表单必填标星_怎么用JS做form表单验证,要详细代码,求救!(带星号的是必填项)...
  6. 想成为企业争抢的目标吗?你需要掌握的五大热门IT技能
  7. 相对熵与交叉熵_熵、KL散度、交叉熵
  8. 核能版“水变油”登上Nature!谷歌7000万押注,MIT参与,被评争风加水汽车
  9. 实参可以是任意类型吗_传递任意数量的实参
  10. mysql中char存储中文_数据库中的字符类型存储字符和汉字的数量
  11. Linux查 ssh端口号
  12. Kindle阅读产品体验报告-随时随地畅享阅读
  13. 合宙 4G模块Air720D Mini PCI-E 开发教程
  14. Button点击事件的五种写法
  15. SimpleDateFormat 使用TimeZone
  16. java 阿拉伯数字日期转换为中文大写日期方法_java方法转换大写日期及人民币大写转换方式 .txt...
  17. 学校计算机教室学生使用记录表,学校学生信息技术教学计划
  18. 腾讯云运维tca题库
  19. 中国家庭收入调查(CHIP)数据88-13年
  20. 汉字编码(【Unicode】 【UTF-8】 【Unicode与UTF-8之间的转换】 【汉字 Unicode 编码范围】【中文标点Unicode码】【GBK编码】【批量获取汉字UNICODE码】)

热门文章

  1. 深度解析vsftpd服务
  2. 应用squid全面加速web(全)
  3. 飞鸽传书2009绿色版 官方网站下载地址
  4. {转载}非程序员的GNU Emacs使用心得
  5. FreeEIM 2.0 beta 发布
  6. 有的人能轻松学会Python编程,不是基础好,而是有了这些刷题网站
  7. 预测:小程序入口预测汇总(8种可能)
  8. 大数据之Elasticsearch教程
  9. 计算机主机配置有哪些,电脑主机配置清单有哪些 电脑主机配置清单及价格
  10. java paint调用,求教 如何调用这个paint