高级C/C++编译技术 在线电子书 图书标签: C/C++ 编译原理 C++ 计算机 编程 软件开发 计算机科学-C/C++ 程序设计
发表于2024-11-22
高级C/C++编译技术 在线电子书 pdf 下载 txt下载 epub 下载 mobi 下载 2024
我一直不清楚程序究竟是如何运行起来的,很早以前我看书知道,C/C++ 要经过预处理,编译,汇编,链接等步骤才能得到最终的可执行文件。这些年因为一直从事在应用层面编程,对这些也没有做过研究。最近深究 C++ 和 Unix 环境,我觉得很有必要了解 C++ 的编译和链接都做了些什么,以及操作系统如何加载可执行文件的。 这本书,正好是我需要的。本书讲解二进制文件的组成部分,编译和链接的过程,静态链接和动态链接的原理和实现。写的很不错,只要了解虚拟存储器,具有一点 C 和 C++ 的基础,知道汇编语言是咋回事,这本书就很容易读懂,没有什么难点。 有人提到翻译的问题,我觉得问题不大,至少我在读的时候,没有发现那里因翻译的不好对理解有阻碍。我确实发现了一些翻译错误,仔细读d都能轻易发现这些错误。
评分刚转行时读的- -没怎么读懂
评分信息量还没国内那本大,错误也不少,不过可能是翻译编辑问题
评分动态库链接方面讲的比较好
评分内存结构与文件结构、动态库静态编译算是清除了 翻译的稍微有点儿奇怪 瑕不掩瑜
米兰·斯特瓦诺维奇编著的这本《高级CC 编译技术》从多个角度全面、系统地讲解多任务操作系统中编译、链接、装载与库的内幕和技术细节,为深入理解和掌握系统底层技术提供详实参考和实践指南。与纯粹讲解理论与技术细节的书不同。本书一方面对基本的理论进行了阐述,另一方面则聚焦于C/C 使用静态库和动态库的一些注意事项,并举例说明如何解决实际的链接与装载问题。此外,本书尽量使用通俗易懂的语言来阐述这些知识,并补充了大量示例,避免让读者整天纠结于枯燥的理论。
本书共14章,其中第1章至第4章对多任务操作系统、程序生命周期以及代码重用等重要概念进行介绍,为后续内容做铺垫;第5章介绍静态库的使用方法及其设计技巧;第6章至第11章介绍动态库的相关概念,包括不同平台中动态库的技术细节,比如库文件定位、引用解析与符号处理等,以及一些动态库设计的基本方法与原则和不同平台下应当注意的设计细节;第12章至第14章主要给出一些实践方面的总结,便于读者快速查找相关的概念,而且还总结了一些特定平台的二进制文件分析工具。
我只看了三章试读,因为原书略口水,看不下去. 第三章3.1第三段第二行. 译文: 这么做的原因很可能是新进程的内存映射与shell的内存映射完全不同. 其实应该是:因为很可能新进程的存储map和shell的存储map几乎没有什么相同的地方. 42页中间部分涉及到一个kernel里的struct名字,我...
评分我只看了三章试读,因为原书略口水,看不下去. 第三章3.1第三段第二行. 译文: 这么做的原因很可能是新进程的内存映射与shell的内存映射完全不同. 其实应该是:因为很可能新进程的存储map和shell的存储map几乎没有什么相同的地方. 42页中间部分涉及到一个kernel里的struct名字,我...
评分我只看了三章试读,因为原书略口水,看不下去. 第三章3.1第三段第二行. 译文: 这么做的原因很可能是新进程的内存映射与shell的内存映射完全不同. 其实应该是:因为很可能新进程的存储map和shell的存储map几乎没有什么相同的地方. 42页中间部分涉及到一个kernel里的struct名字,我...
评分我只看了三章试读,因为原书略口水,看不下去. 第三章3.1第三段第二行. 译文: 这么做的原因很可能是新进程的内存映射与shell的内存映射完全不同. 其实应该是:因为很可能新进程的存储map和shell的存储map几乎没有什么相同的地方. 42页中间部分涉及到一个kernel里的struct名字,我...
评分我只看了三章试读,因为原书略口水,看不下去. 第三章3.1第三段第二行. 译文: 这么做的原因很可能是新进程的内存映射与shell的内存映射完全不同. 其实应该是:因为很可能新进程的存储map和shell的存储map几乎没有什么相同的地方. 42页中间部分涉及到一个kernel里的struct名字,我...
高级C/C++编译技术 在线电子书 pdf 下载 txt下载 epub 下载 mobi 下载 2024