最新要闻
- 【全球新要闻】染发剂致癌吗?几十块和几百块的染发剂 究竟有啥区别?
- 全球快讯:等等党赚了:《仙剑奇侠传七》宣布将加入XGP服务
- 环球新动态:Gmail之父:有了ChatGPT 搜索引擎活不过两年 就像干掉黄页电话簿
- 量子通信网络里程碑 中国科大实现模式匹配量子密钥分发
- 男子将厕所改造成电竞房 网友:从此再也不怕“膀胱局”了
- 当前速看:多国反对被无视 日本2030年前排放40万吨核污水入海
- 今日关注:“最强法务部”名不虚传:任天堂赢得Joy-Con手柄集体诉讼案
- 热门:iPhone 14系列官方降价引热议 网友:安卓厂商压力山大
- 【全球新要闻】推特创作者将获得广告分成:需要开通蓝V会员才有资格
- 一加Ace 2正面“全身照”首次亮相:超窄边框双曲屏
- 当前速看:高中生分班前磕头跪谢班主任:网友看后意见大!老师回应:给每人发了红包
- 《流浪地球2》里的“硬核科技” 中国电信已经用上了
- 当前视讯!ChatGPT将英伟达AI GPU变成黄金 后者股价飙升超40%
- 《狂飙》带火鱼干店 老板:微信加烦了!剧中原来是这一集
- 当前焦点!Edge新版增加内容推荐按钮:打开甚至不用点
- 今日报丨比亚迪1月销量:汉卖出1.22万辆 宋Plus继续火爆
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
新动态:Linux环境下:程序的链接, 装载和库[动态链接]
静态链接库在程序编译阶段就完成了链接工作,完成链接后,依赖的库就都打入了可执行文件中,所以文件大小一般会比较大。而动态库链接库是在程序运行时才被链接的,所以磁盘上只要保留一份副本,因此节约了磁盘空间。如果发现了bug或要升级也很简单,只要用新的库把原来的替换掉就行了。Linux环境下的动态链接对象都是以.so为扩展名的共享对象(Shared Object).
生成共享动态链接库
main_1.c
#include "hello.h"int main(){ print_x(1); sleep(10000); return 0;}
hello.c
【资料图】
#include void print_x(int x){ printf("call hello.so x=%d\n",x);}
生成共享动态链接库 gcc -fPIC -shared -o hello.so hello.c
将main函数链接此共享库 gcc -o main_1 main_1.c ./hello.so
PIC:Position Independnet Code
-fPIC
表示生成位置无关的代码有些系统需要无论加载到什么位置都可以正常工作的位置无关代码。链接器需要提供额外的技巧来支持位置无关代码,与程序中无法做到位置无关的部分隔离开来。
通过/proc 文件系统可以查看动态链接的程序在运行时会加载的额外的库有哪些除了我们程序本身的main_1的段,还依赖了
hello.so
这个是我们创建的动态链接库libc.so.6
这个是hello文件中所依赖的ld-linux-x86-64.so.2
这个是linux上的动态链接器。 使用动态链接库的时候,操作系统在运行程序之间,会先将控制权交给动态链接器,即/lib64/ld-linux-x86-64.so.2
,它完成了动态链接的工作之后再把控制权交给应用程序。所以会在进程空间中看到这个
通过动态链接生成的main_1
可执行文件中存储了这个信息,通过 readelf -s main_1
查看 .interp
section的内容
.interpThis section holds the pathname of a program interpreter. If the file has a loadable segment that includes the section, the section"s attributeswill include the SHF_ALLOC bit. Otherwise, that bit will be off. This section is of type SHT_PROGBITS.
但是这样的依赖动态链接库,对最终运行时的动态链接库的位置有要求,将hello.so
移动位置后就无法找到了。
可执行文件的运行时入口
真正可执行文件的运行时入口并不是main函数,而是glibc的运行时库,在执行main函数之前需要做一些初始化的工作。大部分Linux程序的入口地址应该都是 glibc 中的_start 函数objdump -d ../PartIV/sta_vs_dyn/dyn_loop
这个对应glibc中的一段入口函数。
基本上到这里就理解了程序的编译,链接和装载的过程。文章只是跟随视频学习过程的一点记录,有些阅读linux内核的源码没有完全跟进去,感兴趣的可以看看原作者的分享视频
https://www.bilibili.com/video/BV1hv411s7ew/
新动态:Linux环境下:程序的链接, 装载和库[动态链接]
【全球新要闻】染发剂致癌吗?几十块和几百块的染发剂 究竟有啥区别?
全球快讯:等等党赚了:《仙剑奇侠传七》宣布将加入XGP服务
环球新动态:Gmail之父:有了ChatGPT 搜索引擎活不过两年 就像干掉黄页电话簿
每日焦点!操作系统篇 ———— 开篇[一]
全球最资讯丨ES6 简介(二)
量子通信网络里程碑 中国科大实现模式匹配量子密钥分发
男子将厕所改造成电竞房 网友:从此再也不怕“膀胱局”了
世界观速讯丨9 文件操作
当前速看:多国反对被无视 日本2030年前排放40万吨核污水入海
今日关注:“最强法务部”名不虚传:任天堂赢得Joy-Con手柄集体诉讼案
热门:iPhone 14系列官方降价引热议 网友:安卓厂商压力山大
【环球时快讯】Java实现动态数组(数据结构与算法)
【全球新要闻】推特创作者将获得广告分成:需要开通蓝V会员才有资格
一加Ace 2正面“全身照”首次亮相:超窄边框双曲屏
当前速看:高中生分班前磕头跪谢班主任:网友看后意见大!老师回应:给每人发了红包
【全球速看料】MAUI新生6.9-控件辅助功能①:动画Animation
集合框架
10 正则表达式应用
《流浪地球2》里的“硬核科技” 中国电信已经用上了
全球报道:超详细--redis在Linux环境搭建主从复制
当前视讯!ChatGPT将英伟达AI GPU变成黄金 后者股价飙升超40%
《狂飙》带火鱼干店 老板:微信加烦了!剧中原来是这一集
焦点报道:为什么 L1 正则化能做特征选择而 L2 正则化不能
Linux环境下:程序的链接, 装载和库[可执行文件的装载]
当前焦点!Edge新版增加内容推荐按钮:打开甚至不用点
今日报丨比亚迪1月销量:汉卖出1.22万辆 宋Plus继续火爆
当前头条:[数据结构] 哈希表 (开放寻址法+拉链法)
天天动态:车主展示特斯拉自动泊车入位 结果翻车:变成“自动撞车”
【天天速看料】价格暴降后特斯拉供不应求 马斯克:准备要涨了
热点评!迁移学习(HDAN)《Heuristic Domain Adaptation》
美团索命一问:一个SQL ,怎么分析加了哪些锁? 含4大场景、8个规则
宝能造车梦破碎:烧了80多亿元的观致 如今沦为法拍车
女孩4万多元的摩托 被男摩友加白糖报废!官方介入
读Java实战(第二版)笔记01_Java的变化
全球即时:柔软顺滑 古今男士平角裤3条到手29.9元
世界视讯!休闲百搭 361° 运动束脚裤立减140元:49元起清仓价
环球速看:冰火两重天!四川一地昼夜温差38.6℃ 专家揭秘真相
今年开播有戏 “陈萍萍”演员吴刚回应《庆余年》第二季:很快了
python的基础知识1
奔驰被曝大砍产品线!19款车型或将淘汰 原因现实
环球视点!马斯克收费比微博狠多了:推特被曝企业“金V”认证付费:每月6770元
焦点热议:3年前旗舰也有份!中国广电剧透:小米10/青春版计划4月推送MIUI 14
《流浪地球2》票房破32亿元 导演谈第3部:原班人马再来一遍
全球最资讯丨浙江台州最大汽车经销商老板跑路 旗下19家4S店全部关停
12.4万保时捷首单买家发声:保时捷答应优惠卖车
[数据结构] 树、森林的遍历
每日时讯!MAUI新生2.5-数据绑定和MVVM:MVVM的属性验证
当前速递!父亲借女儿3万压岁钱不还被起诉 法院:应还本金及利息
焦点观察:1万元!佳能入门级全画幅相机EOS R8规格曝光
世界微速讯:为S23让路!三星Galaxy S22京东秒杀:骁龙8小屏旗舰 3569元
环球微头条丨豆瓣8.1分!《三体》主创:能拍中国科幻大作 此生无憾
低代码平台前端的设计与实现(三)设计态画布DesignCanvas的设计与实现
热资讯!重庆一景区煮麻辣汤圆:下次元宵佳节还得等384天
男子打包螺蛳粉开车24小时运回北京 只因朋友圈一句话:这是真爱
【天天新视野】用户滑雪频繁触发iPhone车祸检测功能 苹果:已进行了优化 同时派代表考察
天天快播:甜品级游戏本价格已曝光:搭载RTX 4050/4060
环球消息!5 组合数据类型
今日讯!短记我的二十五岁,如落叶般随风飘荡。
世界观焦点:java基础:流程控制
女子春节连打4通宵麻将:患上突发性耳聋
国产显卡搞定“显卡杀手”:摩尔线程MTT S80居然能跑《孤岛危机》
【世界独家】极限挤牙膏!三星Galaxy S23系列用残血版LPDDR5X内存
世界微动态丨wireshark 抓包整理———— 从一个小案例开始 [一]
【全球热闻】游客洪崖洞花30元找当地大爷抄近道 只花2分钟:网友道出真相
速讯:博纳影业总裁妻子金巧巧否认暗指《满江红》排片多、不好看:个人喜好
颜值最高的白色手机来了!vivo X90告白下周预售:天玑9200加持
天天消息!Python教程:IO
零下10度静止一夜不掉电!“车主”盛赞恒驰5 OTA效果好
当前视点!java基础:java基础语法
大众也不香了!比亚迪ATTO 3获德媒超高认可:钟爱刀片电池
快资讯:CPU性能提升10%!13代酷睿笔记本测试数据出炉
【全球报资讯】盖茨向马斯克“泼冷水”:殖民火星完全浪费钱
世界新资讯:医生发现19岁阿尔兹海默症患者:已知最年轻
SQL SERVER——高可用技术概述
环球微头条丨用ChatGPT写作业?新算法给AI生成文本加水印:置信度高达99.999999999994%
快播:【Redis场景拓展】秒杀问题-全局唯一ID生成策略
美团一面:InndoDB 单表最多 2000W,为什么?小伙伴竟然面挂
每日精选:2个月没人管!AMD老显卡终于要有新驱动了
奢侈品不愁卖!LV将涨价20% 世界首富放言:中国人有钱
全球看热讯:Andlua+实现WakeUpOnline远程开机
Docker搭建本地私有仓库
世界即时:vue/ts 新建项目时好用的配置 【vite.config.ts、tsconfig.json、】
天天热点!大爷看《狂飙》入戏屏幕前举杯痛饮 被演技折服:口碑大剧结尾你满意吗?
厉害!中国半导体领域科研论文数量持续全球第一 光触媒等已超美国
【缓存策略及实践】前端如何配置 HTTP 缓存机制
全球简讯:为什么感觉工资过万很普遍了?打打字就能月入过万你心动吗?央视揭秘新骗局
《生化危机4:重制版》第五章演示:里昂和碍事梨合作通关
云南小女孩骑鸵鸟上学从容淡定 挡眼睛控制方向:网友调侃是大象年检了
观焦点:造车新势力轿车月榜Top2 长安深蓝SL03迎开门红:1月交付6137台
环球快消息!越野车开进古河床随意碾压:改装牧马人无视警示牌“撒野” 专家:保护有难度
天天微资讯!2899元价格屠夫!XiaoMI Book 12.4 二合一评测:办公追剧不在话下
微头条丨C盘扩容:不要轻易转换动态磁盘 Dynamic Disk
乳腺癌已成为全球第一大癌症:我国每年新增42万 比国外发病早
今日观点!投资不过山海关对东北伤害狠!老工业基地全力发展新能源车 专家称沈阳可成深圳
世界今热点:全球首位!以色列总统使用ChatGPT写演讲稿:开头、结尾感受下
全球看热讯:《角斗士2》明年上映
全球热点评!阿里云盘致歉:昨晚系统故障 全平台无法加载内容
TGA年度最佳!《双人成行》销量破1000万:双人游戏天花板
环球今日报丨特斯拉降价到20万出头 网友忍不住要下单 宝马奔驰大众:我们不跟