内容简介 《链接器和加载器》讲述构建程序的关键工具——链接器和加载器,内容包括链接和加载、体系结构、目标文件、存储分配、符号管理、库、重定位、加载和覆盖、共享库、动态链接和加载、动态链接的共享库,以及着眼于成熟的现代链接器所做的一些变化;并介绍一个持续的实践项目,即使用Perl语言开发一个可用的小链接器。 《链接器和加载器》适合高校计算机相关专业的学生、实习程序员、语言设计者和开发人员阅读参考。 编辑推荐 《链接器和加载器》:不管你的编程语言是什么,不管你的平台是什么,你很可能总是会涉及链接器和加载器的功能。但是你知道如何最大限度地利用它们吗?只有现在,随着《链接器和加载器》的出版,总算有一本深入完整地彻底揭示编译时和运行时过程的权威著作了。 《链接器和加载器》首先通过实例深入浅出地阐述了在不同的编译器和操作系统中链接和加载过程的差异。在这个基础上,作者提出了清晰实用的忠告,来帮助你创建更快、更清晰的代码。你将会学习如何规避和Windows DLL相关的陷阱,充分利用UNIX ELF库模式等。如果你对程序设计抱有非常认真的态度,那么你可以通过这本书充分地理解这个领域内最难懂的主题之一。《链接器和加载器》对于编译器和操作系统课程同样也是一本理想的补充读物。 《链接器和加载器》特性 ◆覆盖了Windows,UNIX,Linux,BeOS和其它操作系统的动态链接过程。 ◆解释了Java链接模式,以及它是如何应用在网络小应用程序和可扩展Java代码中的。 ◆帮助你编写更优雅、更高效的代码,以及构建能够被更加高效地编译、加裁和运行的应用程序。 ◆包含了一个用Perl构建链接器的练习项目,项目文件可以从网络下载得到。 媒体推荐 “我很享受阅读这本对实现链接器和加载器的众多技术和挑战进行有效概述的书。虽然书中的多数例子都集中在今天被广泛使用的三种计算机体系结构上,但这本书也包含了很多描述过去的一些有趣和古怪的计算机体系结构的注解。通过这些真实的战例,我断定作者本人真正经历了这些事情并存活了下来给我们讲述这个故事。” ——Guy Steele 作者简介 作者:(美国)莱文(John R.Levine) 译者:李勇 莱文(John R.Levine),是很多书籍的作者或合作者,包括Lex & Yacc(O'Reilly),Programming for Graphics Files in C and C++(Wiley),以及7-heIntemetforDummies(IDG)。他还是Journal of C Language Translation的荣誉退休发行人、comp.compilers新闻组的长期仲裁人员,以及某个最早的商用Fortran 77编译器的创建考。他在耶鲁大学获得了计算机科学的博士学位。 目录 第1章 链接和加载 1.1 链接器和加载器做什么? 1.2 地址绑定:从历史的角度 1.3 链接与加载 1.4 编译器驱动 1.5 链接:一个真实的例子 练习 第2章 体系结构的问题 2.1 应用程序二进制接口 2.2 内存地址 2.3 地址构成 2.4 指令格式 2.5 过程调用和寻址能力 2.6 数据和指令引用 2.7 分页和虚拟内存 2.8 Intel 386分段 2.9 嵌入式体系结构 练习 第3章 目标文件 3.1 目标文件中都有什么? 3.2 空目标文件格式:MS-DOS的COM文件 3.3 代码区段:UNIX的a.out文件 3.4 重定位:MS-DOS的EXE文件 3.5 符号和重定位 3.6 可重定位的a.out格式 3.7 UNIX的ELF格式 3.8 IBM 360目标格式 3.9 微软可移植、可执行体格式 3.10 Intel/Microsoft的OMF文件格式 3.11 不同目标格式的比较 练习 项目 第4章 存储空间分配 4.1 段和地址 4.2 简单的存储布局 4.3 多种段类型 4.4 段与页面的对齐 4.5 公共块和其他特殊段 4.6 链接器控制脚本 4.7 实际中的存储分配 练习 项目 第5章 符号管理 5.1 绑定和名字解析 5.2 符号表格式 5.3 名称修改 5.4 弱外部符号和其他类型符号 5.5 维护调试信息 练习 项目 第6章 库 6.1 库的目的 6.2 库的格式 6.3 建立库文件 6.4 搜索库文件 6.5 性能问题 6.6 弱外部符号 练习 项目 第7章 重定位 7.1 硬件和软件重定位 7.2 链接时重定位和加载时重定位 7.3 符号和段重定位 7.4 基本的重定位技术 7.5 可重链接和重定位的输出格式 7.6 其他重定位格式 7.7 特殊情况的重定位 练习 项目 第8章 加载和覆盖 8.1 基本加载 8.2 带重定位的基本加载 8.3 位置无关代码 8.4 自举加载 8.5 树状结构的覆盖 练习 项目 第9章 共享库 9.1 绑定时间 9.2 实际的共享库 9.3 地址空间管理 9.4 共享库的结构 9.5 创建共享库 9.6 使用共享库链接 9.7 使用共享库运行 9.8 malloc hack和其他共享库问题 练习 项目 第10章 动态链接和加载 10.1 ELF动态链接 10.2 ELF文件内容 10.3 加载一个动态链接程序 10.4 使用PLT的惰性过程链接 10.5 动态链接的其他特性 10.6 运行时的动态链接 10.7 微软动态链接库 10.8 OSF/1伪静态共享库 10.9 让共享库快一些 10.10 几种动态链接方法的比较 练习 项目 第11章 高级技术 11.1 C++的技术 11.2 增量链接和重新链接 11.3 链接时的垃圾收集 11.4 链接时优化 11.5 链接时代码生成 11.6 Java链接模型 练习 项目 参考文献 序言 几乎从有计算机以来,链接器和加栽器就是软件开发工具包中的一部分,因为它们允许使用模块(而不是一个单独的大文件)来构建程序的关键工具。 早在1947年,程序员们就开始使用原始的加载器:将程序的例程存储在多个不同的磁带上,并将它们合并、重定位为一个程序。在20世纪60年代早期,这些加栽器就已经发展得相当完善了。由于那时内存很贵且容量有限,计算机的速度很慢(以今天的标准),为了创建复杂的内存覆盖策略(以将大容量的程序加载到小容量内存中),以及重新编辑先前链接过的文件(以节省重新创建程序的时间),这些链接器都包含了很多复杂的特性。 20世纪七八十年代,链接技术几乎没有什么进展。链接器趋向于更加简单,虚拟内存技术将应用程序和覆盖机制中的大多数存储管理工作都转移给了操作系统,越来越快的计算机和越来越大的磁盘也使得重新链接一个程序或替换个别模块比仅仅链接改变过的地方更加容易了。从20世纪90年代起,链接器又开始变得复杂起来,增加了诸多现代特性,包括对动态链接共享库的支持和对C++独特要求的支持。同时,像IA64那样具有宽指令字和编译时访存调度特性的先进处理器架构,也需要将一些新的特性加入到链接器中,以确保在被链接的程序中可以满足代码的这些复杂需求。
2024-01-08 20:47:20 10.75MB 链接器和加载器
1
我们回顾了齐默尔曼的森林公式,该公式解决了Bogoliubov的递归R运算,用于减去扰动量子场理论中的紫外线发散。 我们进一步讨论了R-运算的一般化,除了紫外线以外,还减去了欧几里德红外散度。 这种归纳为R⁎-运算的名称,可以有效地用于计算重归一化常数。 我们将讨论通过这种方法获得的一些结果,重点是在五个循环处的QCD beta函数以及在N 4 LO时强子希格斯玻色子衰变率的应用。 本文总结了沃尔夫哈特·齐默尔曼纪念研讨会上的演讲。
2023-12-07 09:58:24 428KB Open Access
1
这个压缩包里有两个appium版本,都是默认路径安装的 一个是Appium-windows-1.17.1-1.exe 另外一个是10多天前官方刚上传的Appium-windows-1.18.0-beta.0.exe 两个版本的下载地址: https://github.com/appium/appium-desktop/releases
2023-12-01 14:15:00 318.09MB app测试 appium app自动化测试 appium1.17.1-1
1
visual c++ 1.1 beta测试版
2023-11-12 08:00:19 91.26MB vc++
1
0.7相对于0.6更新内容 (1) 修复了设置标题栏风格某项为假后调试标题栏会消失的问题 (2) 修复了子组件坐标会偏移几个点的问题 (3) 修复了移动组件时调节器坐标的问题 (4) 修复在创建组件失败时会继续执行事件而不是中断事件的问题 (5) 修复在组件内创建组件会坐标错乱的问题 0.6相对于0.5更新内容 (1) 修复了创建调节器会崩溃的问题 (2) 增加了版本检查,方便新版本推送 (3) 修复了在某些情况下属性表属性错乱与移动组件后属性表坐标不更新的问题 软件特色与功能 (一)ExDui 3 的可视化设计          <1> 可拖拽式布局          <2> 可实时预览的设计窗口          <3> 对设计窗口风格的可视化调整 (二)配套的 ExDui 开发工具          <1> 正因为ExDui4的出现导致了ExDui3的停止更新,而版本3却依旧有着很多的使用者,所以本软件在对ExDui3模块开源版本上进行了BUG修复与对设计器的对接(增加适用性)                  ╳ 模块主体修改                     ├◎ 修复部分组件标题或内容没有数据时会画出乱码的问题(指针问题 有<组合框,分组框>其余组件暂未发现或者忘记修复(笑))                      ├◎ 增加组件 开关_Ex                      └◎ 对部分函数进行开放以及修改(主要是对设计器的对接)                  ╳ 窗口类                     ├◎ 支持在不销毁窗口的情况下重新绘制标题栏(窗口.重画标题栏 (#标题栏_))                      ├◎ 支持在忽略组件创建的情况下挂接布局文件(为设计器扩展)(<整数型(窗口句柄)> 创建自布局文件_仅窗口 (XML数据,父窗口句柄))                      ├◎ 支持手动设置窗口背景柔化偏移(置柔化偏移_x/y(偏移x/y))                      ├◎ 支持取回客户区矩形数据                     ├◎ 添加窗口圆角度设置函数(设置窗口圆角度 (x))                      └◎ 添加更新窗口底图方式函数(设置底图方式( #底图方式_,九宫矩形(x,x,x,x)))                   ╳ 列表框                     └◎ 支持自定义列表颜色(选中色,点燃色,选中色,文本色,选中后文本色) (三)人性化的细节处理          <1> 支持导入导出保存工程,扩大布局文件适用性。          <2> 在软件因为内部原因而崩溃时,自动提示保存。(思路以及部分实现源码来自于异常通知辅Zhu模块)           <3>内置问题反馈工具,方便更好的提交问题。(利用永硕E盘留言板,文件名:EX_YiDream-back.exe)           <4>软件使用数据的统计。
2023-11-07 19:01:07 2.49MB
1
google-api-java-client-1.6.0-beta.zip
2023-11-02 07:04:15 10.87MB
1
jodconverter-core-3.0-beta-4-dist.zip使用Java将文档转换为PDF
2023-09-27 16:23:01 3.85MB jodconverter word pdf
1
利用C#写的一个简单的黑白棋。评估函数有两个一个比较简单,一个比较复(复杂也是参考别人的),以及利用极大极小搜索和Alpha-Beta搜索算法实现的AI。
1
DOYOCMS站群二次开发版本 1、架构轻盈,完全免费与开源 采用轻量MVC架构开发,兼顾效率与拓展性。全局高效缓存,打造飞速体验。 2、功能自由搭配,保证系统纯净 全插件机制,安装卸载全绿色操作,无残留,对系统臃肿零容忍,最小仅数百K。 3、让简洁与强大并存 强大字段自定义功能,完善的后台开关模块,不会编程也能搭建各类网站系统。 4、会员、留言、投稿神马一个不能少 不断升级完善的模块与插件,灵活的组装与自定义设置,满足你的多样需求。 5、安装、升级、备份、转移一键完成 一键安装、一键升级、一键备份、一键转移。从此,让你的网站维护变得如此轻松。 6、顶级的配套服务 超级精美的模版库,精选国内性价比、速度、安全最佳的空间,让你远离挑选的烦恼。 DOYO通用建站系统系统功能: 1、功能频道:内容频道(强大自定义功能)、留言频道 2、插件模块:会员管理、广告管理、专题管理、评论管理、链接管理等 3、系统功能:静态HTML生成、自定义模板标签、附件清理、数据备份恢复 4、在线升级:一键自动在线安全补丁升级,免除维护烦恼 5、自定义字段:强大的自定义字段功能,可按栏目、频道添加各种输入字段,包括文本、数字、单选、多选、编辑器、单附件、多附件 6、SEO优化:独立的页面SEO信息设置,方便快捷 7、HTML静态:全站纯静态生成功能 8、附件检测:自动附件清理功能,一键清除未使用多余附件,保持系统纯净 9、高效缓存:全站高效缓存机制,运行飞速体验 10、模板代码生成器:自带模板调用生成器,零基础也能快速制作模板标签 11、全功能权限设定:分组机制管理权限设定,全功能全栏目均可指定管理权限 12、数据库操作:一键备份、一键恢复、一键转移空间,方便快捷
2023-09-21 14:16:22 15.11MB DOYO 站群
1
PHP云人才系统是一个采用 PHP 和 MySQL 数据库构建的高效开源的人才与企业求职招、聘解决方案,在尊重版权的前提下能极大的满足对于网站程序进行二次开发。PHP云人才系统作为一
2023-09-18 23:12:46 18.94MB phpyun PHP云人才系统 v4.3.1 beta
1