高级C\C++编译技术/C\C++技术丛书豆瓣PDF电子书bt网盘迅雷下载电子书下载-霍普软件下载网

网站首页   软件下载   游戏下载   翻译软件   电子书下载   电影下载   电视剧下载   教程攻略   音乐专区

请输入您要查询的图书:

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

电子书 高级C\C++编译技术/C\C++技术丛书
分类 电子书下载
作者 (美)米兰·斯特瓦诺维奇
出版社 机械工业出版社
下载 暂无下载
介绍
编辑推荐

学习如何编写C/C++代码仅仅是个开始。如果你希望从事系统底层开发,或想深入理解操作系统、编译器及它们之间内在的关联,成为“编程专家”,那么就必须对编译器生成的二进制文件(目标文件、静态库、动态库和可执行文件)的作用和结构进行充分的了解。开源已经在许多方面从根本上改变了软件的原有面貌,越来越多的系统开始采用或集成开源代码,因此对每位开发人员来说,学习和理解这些底层技术也变得十分重要。

米兰·斯特瓦诺维奇编著的这本《高级C\\C++编译技术》深入浅出地讲解了构建过程(编译、链接)中的各种细节,从多个角度展示了程序与库文件或代码的集成方法,提出了面向代码复用和系统集成的软件架构设计方法,以及系统开发过程中疑难问题的解决方案。同时,本书也是一本C/C++二进制文件方面的软件工程指南,涵盖中级和专家程序员所需的各方面内容和信息。

内容推荐

米兰·斯特瓦诺维奇编著的这本《高级C\\C++编译技术》从多个角度全面、系统地讲解多任务操作系统中编译、链接、装载与库的内幕和技术细节,为深入理解和掌握系统底层技术提供详实参考和实践指南。与纯粹讲解理论与技术细节的书不同。本书一方面对基本的理论进行了阐述,另一方面则聚焦于C/C++使用静态库和动态库的一些注意事项,并举例说明如何解决实际的链接与装载问题。此外,本书尽量使用通俗易懂的语言来阐述这些知识,并补充了大量示例,避免让读者整天纠结于枯燥的理论。

本书共14章,其中第1章至第4章对多任务操作系统、程序生命周期以及代码重用等重要概念进行介绍,为后续内容做铺垫;第5章介绍静态库的使用方法及其设计技巧;第6章至第11章介绍动态库的相关概念,包括不同平台中动态库的技术细节,比如库文件定位、引用解析与符号处理等,以及一些动态库设计的基本方法与原则和不同平台下应当注意的设计细节;第12章至第14章主要给出一些实践方面的总结,便于读者快速查找相关的概念,而且还总结了一些特定平台的二进制文件分析工具。

目录

译者序

前言

第1章 多任务操作系统基础

 1.1 一些有用的抽象概念

 1.2 存储器层次结构与缓存策略

 1.3 虚拟内存

 1.4 虚拟地址

 1.5 进程的内存划分方案

 1.6 二进制文件、编译器、链接器与装载器的作用

 1.7 小结

第2章 程序生命周期阶段基础

 2.1 基本假设

 2.2 编写代码

 2.3 编译阶段

2.3.1 基本概念

2.3.2 相关概念

2.3.3 编译的各个阶段

2.3.4 目标文件属性

2.3.5 编译过程的局限性

 2.4 链接

2.4.1 链接阶段

2.4.2 链接器视角

 2.5 可执行文件属性

2.5.1 各种节的类型

2.5.2 各种符号类型

第3章 加载程序执行阶段

 3.1 shell的重要性

 3.2 内核的作用

 3.3 装载器的作用

3.3.1 装载器视角下的二进制文件(节与段)

3.3.2 程序加载阶段

 3.4 程序执行入口点

3.4.1 装载器查找入口点

3.4.2 _start()函数的作用

3.4.3 __libc_start_main()函数的作用

3.4.4 栈和调用惯例

第4章 重用概念的作用

 4.1 静态库

 ……

第5章 使用静态库

第6章 设计动态链接库:基础篇

第7章 定位库文件

第8章 动态库的设计:进阶篇

第9章 动态链接时的重复符号处理

第10章 动态库的版本控制

第11章 动态库:其他主题

第12章 Linux工具集

第13章 平台实践

第14章 Windows工具集

截图
随便看

免责声明
本网站所展示的内容均来源于互联网,本站自身不存储、不制作、不上传任何内容,仅对网络上已公开的信息进行整理与展示。
本站不对所转载内容的真实性、完整性和合法性负责,所有内容仅供学习与参考使用。
若您认为本站展示的内容可能存在侵权或违规情形,请您提供相关权属证明与联系方式,我们将在收到有效通知后第一时间予以删除或屏蔽。
本网站对因使用或依赖本站信息所造成的任何直接或间接损失概不承担责任。联系邮箱:101bt@pm.me