BookNotes_《CSAPP_3e》_chp07_Linking 链接

本文是作者对《CSAPP_3e》第七章Linking的读书笔记,涵盖了编译过程、静态链接(包括ELF目标文件格式、符号解析和重定位)以及动态链接的基本概念。通过学习,了解了静态库和动态库的原理,以及打桩技术在软件测试中的应用。
摘要由CSDN通过智能技术生成

上周末到这周六,花了一周的时间看完了《CSAPP_3e》 chp07 Linking,疫情还在持续也不好出门运动,呆在家里把这周的学习做个梳理和总结。


不得不说,CSAPP这本书真的是非常之经典,不光是他的内容–计算机的底层基础知识,是每个从事计算机软件工作必须修炼的内功,对于身边的人特别是刚毕业的新人我总是不遗余力的推荐;还有就是这本书的行文结构非常符合结构化思维:为什么?是什么?怎么做?。每章节都是如此的行文结构,真的是授之与鱼和渔。英文的行文和语法也非常工整,至少我读起来没什么困难,里面不少短语和句式我都记录了下来方便自己以后查阅使用,为此我还开了个专栏 English Mood,锻炼自己的英文写作能力。

扯多了,言归正传。

Linking这章,首先介绍了为什么要学习链接,我们能收获到什么并因此避开一些软件开发中的坑?
其次,在简单介绍了编译的大概过程后,开始分析静态链接。介绍了目标文件格式ELF,以及由此生成可执行文件的符号解析、重定位过程。
最后,分析动态链接。静态库和动态库的原理和使用,末尾介绍了个黑科技–打桩技术。

1. 编译的大概过程

我们常说的编译其实是包含了预处理、编译、汇编、链接这四个过程的总称。拆开来讲,这四个过程都有专门的二进制可执行程序工具来执行(对应cpp、cc、as、ld),而gcc这个二进制可执行程序可以帮我们依次调用它们,我们可以使用特定的

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值