深入理解程序设计

深入理解程序设计 pdf epub mobi txt 电子书 下载 2026

出版者:人民邮电出版社
作者:[美] Jonathan Bartlett
出品人:
页数:208
译者:郭晴霞
出版时间:2014-1
价格:49.00
装帧:平装
isbn号码:9787115337887
丛书系列:图灵程序设计丛书·Linux/UNIX系列
图书标签:
  • 汇编
  • 计算机
  • 编程
  • Linux/Unix
  • 程序设计
  • Linux
  • 计算机科学
  • 计算机体系结构
  • 程序设计
  • 算法
  • 数据结构
  • 编程语言
  • 软件开发
  • 面向对象
  • 代码优化
  • 逻辑思维
  • 系统设计
  • 开发工具
想要找书就要到 本本书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

是否真正理解汇编语言,常常是普通程序员和优秀程序员的分水岭。《深入理解程序设计:使用Linux汇编语言》介绍了Linux平台下的汇编语言编程,教你从计算机的角度看问题,从而了解汇编语言及计算机的工作方式,为成就自己的优秀程序员之梦夯实基础。

很多人都认为汇编语言晦涩难懂,但New Medio技术总监Jonathan Bartlett的这本书将改变人们的看法。本书首先介绍计算机的体系结构,然后从编写简单程序开始,一步一步扩充函数、文件、读写处理等知识,并平滑过渡到程序共享、存储与优化,由浅入深地介绍了Linux汇编语言编程。作者不仅会带你了解向计算机传递信息的方式方法,还让你学会向修改和使用程序的人传递信息,并最终用自己的规则构建“世界”,按自己对问题的理解和解决方案创造“世界”。

主要内容:

计算机体系结构(详解内存及寻址方式);

编程初体验;

函数使用及复杂度处理;

文件处理及缓冲区分析;

记录读写及修改;

通过测试及错误处理打造健壮程序;

程序共享;

内存布局及处理;

计算机的计数原理;

程序优化(时机、位置及方式)。

作者简介

Jonathan Bartlett

New Medio技术总监,负责为各公司定制Web应用、移动应用或企业软件解决方案。在此之前,他曾在EDS担任因特网开发经理一职,为Web团队和Wolfram Research提供技术支持。另外,他常在IBM DeveloperWorks社区撰文,介绍从高性能Playstation 3编程到高级元编程技巧等主题。

目录信息

第1章 引言  1
1.1  欢迎加入编程大军  1
1.2  工具  2
第2章 计算机体系结构  5
2.1  内存结构  5
2.2  CPU构造  6
2.3  几个术语  7
2.4  内存详解  9
2.5  寻址方式  10
2.6  温故知新  11
2.6.1  理解概念  11
2.6.2  应用概念  11
2.6.3  深入学习  12
第3章 编写第一个程序  13
3.1  编程初体验  13
3.2  汇编语言程序概要  15
3.3  为程序做规划  19
3.4  查找最大值  21
3.5  寻址方式  27
3.6  温故知新  30
3.6.1  理解概念  30
3.6.2  应用概念  30
3.6.3  深入学习  31
第4章 关于函数  32
4.1  处理复杂度  32
4.2  函数的工作原理  33
4.3  使用C调用约定的汇编语言函数  34
4.4  函数示例  38
4.5  递归函数  41
4.6  温故知新  46
4.6.1  理解概念  46
4.6.2  应用概念  47
4.6.3  深入学习  47
第5章 文件处理  48
5.1  UNIX文件的概念  48
5.2  缓冲区和.bss  49
5.3  标准文件和特殊文件  50
5.4  在程序中使用文件  51
5.5  温故知新  60
5.5.1  理解概念  60
5.5.2  应用概念  61
5.5.3  深入学习  61
第6章 读写简单记录  62
6.1  写入记录  65
6.2  读取记录  69
6.3  修改记录  73
6.4  温故知新  76
6.4.1  理解概念  76
6.4.2  应用概念  76
6.4.3  深入学习  76
第7章 开发健壮的程序  77
7.1  将时间用在何处  77
7.2  开发健壮程序的技巧  78
7.2.1  用户测试  78
7.2.2  数据测试  78
7.2.3  模块测试  79
7.3  有效处理错误  80
7.3.1  万能的错误处理代码  80
7.3.2  恢复点  80
7.4  让程序更健壮  81
7.5  温故知新  83
7.5.1  理解概念  83
7.5.2  应用概念  83
7.5.3  深入学习  83
第8章 与代码库共享程序  84
8.1  使用共享库  85
8.2  共享库的工作原理  86
8.3  查找关于库的信息  87
8.4  一些有用的函数  91
8.5  构建一个共享库  92
8.6  温故知新  93
8.6.1  理解概念  93
8.6.2  应用概念  94
8.6.3  深入学习  94
第9章 关于中间存储器  95
9.1  计算机如何看待内存  95
9.2  Linux程序的内存布局  96
9.3  每个内存地址都是虚拟的  98
9.4  获取更多的内存  100
9.5  一个简单的内存管理器  101
9.5.1  变量和常量  106
9.5.2  性能问题及其他  111
9.6  使用我们的分配器  112
9.7  更多信息  114
9.8  温故知新  114
9.8.1  理解概念  114
9.8.2  应用概念  114
9.8.3  深入学习  115
第10章 像计算机一样计数  116
10.1  计数  116
10.1.1  像人类一样计数  116
10.1.2  像计算机一样计数  117
10.1.3  二进制和十进制之间的转换  118
10.2  真假和二进制数  120
10.3  程序状态寄存器  126
10.4  其他计数系统  127
10.4.1  浮点数  127
10.4.2  负数  128
10.5  八进制和十六进制数字  129
10.6  一个字中的字节顺序  130
10.7  将数字转换成字符显示  131
10.8  温故知新  135
10.8.1  理解概念  135
10.8.2  应用概念  136
10.8.3  深入学习  136
第11章 高级语言  137
11.1  编译语言和解释语言  137
11.2  第一个C程序  138
11.3  Perl  140
11.4  Python  141
11.5  温故知新  141
11.5.1  理解概念  141
11.5.2  应用概念  141
11.5.3  深入学习  142
第12章 优化  143
12.1  何时优化  143
12.2  优化何处  144
12.3  局部优化  145
12.4  全局优化  146
12.5  温故知新  147
12.5.1  理解概念  147
12.5.2  应用概念  148
12.5.3  深入学习  148
第13章 学无止境  149
13.1  自下而上  150
13.2  自顶向下  150
13.3  从中间开始  150
13.4  专题  151
13.5  汇编语言的更多资源  152
附录A  GUI编程  153
附录B  通用x86指令  165
附录C  重要的系统调用  172
附录D  ASCII码  174
附录E  汇编语言中的常用C语句  175
附录F  使用GDB调试器  183
附录G  文档历史  189
附录H  GNU自由文档许可协议  190
附录I  致谢  196
索引  197
· · · · · · (收起)

读后感

评分

书很薄,纸张很差,翻译的总体还可以,但是还是有些小问题,有些源代码地方都写错了,这里就不指出了,如果仔细看肯定能看到的,内容很基础,即时从来没接触过汇编的人也没什么压力,如果比较熟悉汇编的人就不建议买了,有点浪费,性价比不高..  

评分

可以作为32位汇编的练习题,把上面的所有例子在机器上实现一遍,对理解汇编语言有很大帮助。不过与64位汇编还是有一些区别,系统调用方式,参数压栈,弹栈的方式等。还是一本比较好的教材,更深入的细节可以看下 汇编语言程序设计 http://book.douban.com/subject/1446250/  

评分

恐怕暂时是买不到的 还有目前尚无人认领的任务在这里 http://cvs.savannah.nongnu.org/viewcvs/*checkout*/pgubook/ProgrammingGroundUp/tr anslations/zh/po/TODO?root=pgubook 所有的po文件在这里 http://cvs.savannah.nongnu.org/viewcvs/pgubook/ProgrammingGroundUp/trans...  

评分

大概在2015年1月中旬买了这本书。截至目前看了前4章,准确的说第一张没怎么看,第二章略看了下,细看从第三章开始的。之前也算是由汇编语言编程经验。在第三章开始的那个小程序我感觉讲的很详细,非常适合初学者,一个二三十行的程序居然花了接近两页纸张来解释,连作者都承认...  

评分

书很薄,纸张很差,翻译的总体还可以,但是还是有些小问题,有些源代码地方都写错了,这里就不指出了,如果仔细看肯定能看到的,内容很基础,即时从来没接触过汇编的人也没什么压力,如果比较熟悉汇编的人就不建议买了,有点浪费,性价比不高..  

用户评价

评分

这本书给我的感觉就像是拿到了一把万能钥匙,它打开了理解整个软件世界的结构。我之前总觉得自己在“编程”,但读完这本书后,才意识到我之前只是在“操作”语言的语法。作者用一种近乎哲学家的深度,探讨了程序设计的本质——如何高效地管理资源和信息流。它对数据结构和算法的讲解,不再是孤立的知识点罗列,而是紧密地结合到实际的系统性能瓶颈上去分析。比如,它如何通过修改一个底层内存布局,来优化一个看似简单的循环计算,这种“小处见大”的洞察力,极大地拓宽了我的技术视野。对于希望从“代码实现者”蜕变为“系统架构师”的人来说,这本书是必经之路。它不会教你最新的框架,但它能让你理解所有框架背后的不变真理,让你拥有穿越技术潮流变迁的定力。

评分

坦白讲,这本书的文字风格非常古朴和凝练,没有多余的修饰,直击核心。它似乎对读者抱有极高的信任,认为我们有能力去消化那些晦涩的数学模型和逻辑推导。对我而言,最大的收获在于它对“抽象”与“具体”之间关系的处理。它从最底层的硬件限制出发,一步步构建起我们日常使用的各种高级抽象层,让你清晰地看到每一层抽象所带来的便利和隐藏的成本。读完后,我不再轻易相信任何“零成本抽象”的说法,而是能更审慎地评估技术选型背后的真正代价。这本书就像一个严厉但公正的导师,它不会给你现成的答案,但它会把所有通往答案的路径都清晰地标示出来,剩下的,就看你愿意投入多少精力去探索了。

评分

这本书简直是为那些渴望真正掌握计算机底层逻辑的“硬核”学习者量身定制的。我读完后感觉像是打通了任督二脉,以前那些模模糊糊的概念,比如内存的分配、指针的运算,现在都清晰得如同电路图一般展现在眼前。作者的叙述方式极其严谨,完全没有那种浮于表面的概念解释,而是深入到汇编和操作系统内核的层面去剖析,每一个技术细节都经得起推敲。尤其对高级语言是如何映射到底层机器指令的阐述,那种层层递进的剖析,让人不得不佩服作者深厚的功力。它不是一本让你快速写出漂亮界面的书,而是帮你铸造一把锋利的内功心法,让你在面对任何复杂系统时都能做到心中有数,不慌不乱。如果你只是想应付面试,这本书可能过于“重磅”,但如果你真的想成为一名顶尖的软件工程师,这本书的价值是无可替代的,它教会你的不是“如何做”,而是“为什么能这么做”。

评分

说实话,我刚翻开这本书的时候,差点就想把它合上了,内容密度太大了,简直是知识的“高压锅”。但这股压力的背后,却是无与伦比的深度。它没有采用那种花哨的图表或者轻松的语气来迎合初学者,而是直接将你拉入到编译原理和系统架构的复杂迷宫中。我特别欣赏作者对于“抽象层次”的理解,他总能准确地把握何时需要深入到晶体管级别,何时又需要提升到设计模式的宏观视角。很多其他书籍在讲到并发控制时往往止步于锁和信号量,但这本却细致地解析了缓存一致性协议和处理器流水线对这些机制性能的影响,这才是真正体现了“深入理解”的含义。读这本书的过程,与其说是阅读,不如说是一场智力上的高强度训练,需要不断地停下来,对照着代码和手册进行调试和思考,但一旦领悟其中的精髓,那种成就感是无与伦比的。

评分

这本书的阅读体验是渐进式的、充满挑战的,但绝对是回报丰厚的。我很少在技术书籍中读到如此细腻的笔触来描绘那些通常被忽视的“技术债务”和“性能陷阱”。作者对于错误处理和异常机制的探讨,甚至上升到了对程序健壮性设计理念的重新审视,这已经超越了一般的编程指南范畴。它强迫你去思考,你的代码在最坏情况下的行为是什么,以及如何通过精巧的设计来优雅地应对未知的输入和环境变化。我尤其喜欢其中关于编译器优化策略的部分,那种将人类逻辑转化为机器高效执行指令的转化过程,被描述得既科学又充满美感。与其说这是一本技术书,不如说这是一本关于如何构建可靠、高效、持久性软件的“思想钢印”。

评分

例子简洁明了,用汇编也更加容易理解。“学无止境”这章还推荐了书目,太良心!

评分

汇编代码手把手教学,照着码就是了。算是基础入门吧,就是Linux的汇编代码照抄编译。

评分

因为对汇编并不感兴趣,所以只是匆匆浏览一下,书中附录推荐的一些计算机书籍阅读顺序很不错呦

评分

不懂汇编,把代码全都跳过去了,内容其实很基础

评分

入门书, 适合没有基础的读

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 onlinetoolsland.com All Rights Reserved. 本本书屋 版权所有