
链接、装载与库
文章平均质量分 92
omnibots
这个作者很懒,什么都没留下…
展开
-
可执行文件的装载与进程(链接、装载与库05)
硬件决定了地址空间的最大理论上限,即硬件的寻址空间大小,比如32位的硬件平台决定了虚拟地址空间的地址为0到2的32次方-1,即0x00000000 OxFFFFFFFF,也就是我们常说的4GB虚拟空间大小:而64位的硬件平台具有64位寻址能力,它的虚拟地址空间达到了2的64次方-1字节,即0x0000000000000000~0 xFFFFFFFFFFFFFFFF,总共17179869184GB,这个寻址能力从现在来看,几乎是无限的。“Segment”的概念实际上是从装载的角度重新划分了ELF的各个段。..原创 2022-08-28 17:07:09 · 593 阅读 · 0 评论 -
静态链接(链接、装载与库04)
链接脚本由一系列语句组成,语句分两种,一种是命令语句,一种是赋值语句。语句之间使用分号作为分隔符表达式与运算符注释和字符引用/**/原创 2022-08-20 19:38:51 · 727 阅读 · 2 评论 -
目标文件里有什么(链接、装载与库03)
在函数或者全局变量前加入_attribute_((section(“name”)))属性就可以把相应的变量或函数放到以“name"作为段名的段中。原创 2022-08-07 09:07:54 · 153 阅读 · 0 评论 -
静态链接(链接、装载与库02)
直接在语法树上作优化比较困难,源代码优化器会将整个语法树转换成中间代码,它是语法树的顺序表示,已经非常接近目标代码了。重定位做的就是给程序中每个这样的绝对地址引用的位置打补丁,使他们指向正确的地址。编译器所能分析的语义是静态语义,指在编译期间可以确定的语义。相对的是动态语义,运行期间才能确定的语义。最后目标代码优化器对目标代码进行优化,比如选择合适的寻址方式、使用位移代替乘法运算、删除多余的指令等。yacc语法分析器,可以根据用户给定的语法规则对输入的记号序列进行解析,生成一棵语法树。...原创 2022-08-06 17:51:38 · 224 阅读 · 0 评论 -
温故知新(链接、装载与库01)
多核处理器,指的是将多颗核心封装在一颗CPU上,共享昂贵的缓存部件,价格比普通处理器高一点而已,多核可以看成是SMP的简化版本,宏观上SMP和多核并无太大区别。解决了多对一模型中因为用户线程阻塞而引起全部线程阻塞的缺点,在多处理上增加处理器对性能提升有一定帮助,但和一对一模型比还是少一些,继承了多对一模型的全部优点。线程之间的并发是真正的并发,一个线程因为某原因阻塞时,其他线程执行不会受到影响。该模型将多个用户线程映射到一个内核线程上,线程之间的切换由用户态代码进行,因此比一对一模型在线程切换上要快很多。.原创 2022-08-06 17:49:39 · 346 阅读 · 0 评论