波奇学Linux:动静态库

创建静态库

Makefile文件

mymath.c文件

 

mymath.h文件

编译main.c文件

gcc 编译时会把在系统目录中寻找头文件和库文件,文件不在系统目录中用参数

-I 头文件所在文件夹/ -L 库的地址文件夹 -l+除去lib和后缀。

拷贝文件到系统目录即可不用参数

库的安装类似于把头文件和库文件拷贝到系统文件中

库可以提供一个全局变量,如errno就是C语言提供的

如果系统默认动态链接,只提供静态链接,gcc只能提供静态链接。

动态库

动态库在程序运行时被加载到内存,所以产生库的方式和产生可执行程序的命令类似

同时连接动静库

可执行程序链接动态库,必须让加载器和gcc编辑器同时知道位置,方法如下

方法一:把动态库拷贝到系统目录/lib64/usr/lib64

方法二:在系统目录创建软链接指向动态库

方法三:环境变量$LD_LIBRARY_PATH系统搜索动态库路径,将路径添加到这个变量里

方法四:/etc/ld.so.conf.d建立自己的路径动态库路径配置文件,然后重新ldconfig即可。

动静态库区别

静态库相当于把代码拷贝到可执行程序中,当可执行程序链接后,删掉静态库依然可以运行。

动态库相当于程序运行时跳出来运行动态库的代码,动态库删除后,程序不能运行。

动态库在系统中加载之后,会被所有的程序共享,在内存中只会被加载一份。

动态库加载

一份动态库加载到内存中通过页表映射加载到多个进程地址空间的共享区,正文代码运行到库的时候进入共享区。

执行的代码都是在进程地址空间进行执行。

系统在运行时,一定会存在多个动态库,通过os管理起来

动态库的数据会发生写时拷贝,如全局变量。

可执行程序编译完后没有加载到自己内存中有自己的地址。程序可以分区并有地址

平坦模式0~4GB,上面的地址并不是真实的物理地址,是逻辑地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/475205.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【51单片机】如何设置中断函数(场景:在定时器工作完跳转到中断程序时,怎么识别我们的中断程序在哪里呢?)

前言 大家好吖,欢迎来到 YY 滴单片机系列 ,热烈欢迎! 本章主要内容面向接触过单片机的老铁 本章是【利用定时器和中断实现一个简单项目】中的一部分,感兴趣的老铁可以跳转传送门查看传送门 欢迎订阅 YY滴C专栏!更多干货…

Ant Design Card 组件展示图片

文章目录 Ant Design Card 组件展示图片理解card组件结构隐藏卡片内容区域 下拉时加载图片卡片加载更多代码 分页的方式加载图片列表【推荐】实现思路代码demo缩略图在card组件下发显示图片文件名卡片操作 分页 Ant Design Card 组件展示图片 官方文档: Card卡片组…

二维码的颜色怎么改变?轻松3步修改二维码样式

怎么修改二维码的颜色呢?一般我们制作的二维码或者经过系统生成的二维码大多都是黑白颜色的,有些小伙伴会觉得不太美观无法满足自己的使用需求。那么对于想要修改二维码样式的小伙伴,可以使用二维码生成器的二维码美化功能来处理,…

Vue3

目录 一、 Vue3简介 1. 性能的提升 2. 源码的升级 3. 拥抱TypeScript 4. 新的特性 二、 创建Vue3工程 1. 基于 vue-cli 创建 2. 基于 vite 创建(推荐) 3. 一个简单的效果 三、Vue3核心语法 1. OptionsAPI 与 CompositionAPI (1)Options API …

2024春日营销三大内容趋势,种草爆文轻松get丨小红书数据分析

春季是市场迎来消费焕活的新周期,也是新一年品牌实现生意高速起步的必争节点。一年之“计”在于春,春日营销,吹响品牌营销第一声号角。那么,春日营销在小红书上有何内容趋势,跟着小编的脚步一起来看看~ 内容趋势 1、亲…

网页设计升阶秘籍:用Bootstrap打造响应式网站!

介绍:Bootstrap是一个流行的前端框架,它集成了HTML、CSS和JavaScript,旨在帮助开发者快速构建响应式和移动优先的网站。以下是Bootstrap的详细介绍: 响应式设计:Bootstrap的核心特性之一是其响应式布局系统&#xff0c…

相机图像质量研究(34)常见问题总结:图像处理对成像的影响--拖影

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结:光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结:光学结构对成…

集团企业大数据应用:突破痛点,释放数据价值

在数字经济日益崛起的背景下,集团企业以其管理范围广泛、业务领域多元化和分支机构复杂化的特性,在市场竞争中扮演着重要角色。为了维持和提升这种竞争力,大数据应用成为了集团企业不可或缺的战略工具。然而,在实际应用中&#xf…

计算机网络-数据通信基础

目录 前言 一、数据通信基本概念 二、数据通信相关知识1 总结 前言 正在学习计算机网络体系,把每日所学的知识梳理出来,既能够当作读书笔记,又能分享出来和大家一同学习讨论。 一、数据通信基本概念 基本概念:信源、信道、信宿&…

wps快速生成目录及页码设置(自备)

目录 第一步目录整理 标题格式设置 插入页码(罗马和数字) 目录生成(从罗马尾页开始) ​编辑目录格式修改 第一步目录整理 1罗马标题 2罗马标题1一级标题 1.1 二级标题 1.2二级标题2一级标题 2.1 二级标题 2.2二级标题3一级标…

红队打靶练习:IMF: 1

目录 信息收集 1、arp 2、nmap 3、nikto 目录探测 gobuster dirsearch WEB 信息收集 get flag1 get flag2 get flag3 SQL注入 漏洞探测 脱库 get flag4 文件上传 反弹shell 提权 get flag5 get flag6 信息收集 1、arp ┌──(root㉿ru)-[~/kali] └─# a…

Acwing 5471. 数对推理【思维+模拟】

原题链接:https://www.acwing.com/problem/content/5474/ 题目描述: 奶牛贝茜和奶牛贝蒂各有一个整数数对。 每个数对都包含两个 1∼9 之间的不同整数。 这两个数对恰好包含一个公共数,即恰好有一个整数同时包含于这两个数对。 初始时&a…