万本电子书0元读

万本电子书0元读

顶部广告

编程卓越之道(卷2):运用底层语言思想编写高级语言代码(第2版)电子书

媲美高德纳TAOCP的程序设计领域大师经典三卷终成||卷2精华主题:免汇编高性能编程+编译器工作原理||从源程序到优雅机器码不可多得的宝藏资料

售       价:¥

纸质售价:¥188.00购买纸书

127人正在读 | 0人评论 6.5

作       者:(美)Randall Hyde(兰德尔·海德)

出  版  社:电子工业出版社

出版时间:2023-03-01

字       数:28.5万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书介绍在使用高级语言编程时,程序员如何滴滴地提高程序运行效率,并在编写代码时,透彻地理解变量、数组、字符串、数据结构、过程与函数等方面各种方案的优缺,从而恰当运用。书中阐述计算机编程语言在底层硬件上的工作原理,引了一种被称为"高级汇编语言HLA”的学习工具。通过查看、比较编译器生成的汇编语言或机器代码,程序员能够了解代码的底层实现,以便在高级语言编程时选择恰当的方式高效地达到自身的目标。本书是一部提高程序员专业能力,以及通往编程大师之路的不可多得的佳作。 本书适合高等学校学生在掌握基本编程能力后,在有志于从事软件行业并精于此道时修炼使用,也可供已参加工作的程序员一步研修、优化工作技能时参考。此外,对于有意向编写编译器的程序员,此书可提供从普通应用到底层编译的衔,供他们学习初步的编译原理门知识。<br/>【作者】<br/>Randall Hyde是The Art of Assembly Language(《汇编语言的编程艺术》)和Write Great Code(《编程卓越之道》) 1~3卷(均由No Starch Press出版),以及Using 6502 Assembly Language和P-Source(由Datamost出版)的作者。他也是Microsoft Macro Assembler 6.0 Bible(由Waite Group出版)一书的合著者。在过去的40年里,Hyde一直从事嵌式软件/硬件工程师的工作,为核反应堆、交通控制系统和其他电子设备发相关指令集。他还在加州理工大学波莫纳分校和加州大学河滨分校教授计算机科学课程。 张菲,资深软件发工程师和网络工程师,有超过15年的从业经验,经验十分丰富。业界知名的科技图书译者,曾经翻译了《代码大全(第2版)》(合译)、《iPad应用发实践指南》和《编程卓越之道:第二卷》等经典著作,深受读者好评。此外,他还在《计算机世界报》等IT媒体上发表了多篇技术文章。<br/>
目录展开

内容简介

译者序

人们对《编程卓越之道(卷2):运用底层语言思想编写高级语言代码》(第1版)的赞誉之辞

关于作者

关于技术审校者

致谢

引言

1 以底层语言思考,用高级语言编程

1.1 关于编译器质量的误区

1.2 最好还是学一学汇编语言

1.3 为何学习汇编语言并非绝对必要

1.4 以底层语言思考

1.5 编程用高级语言

1.6 不特定于某种语言的方法

1.7 附加提示

1.8 获取更多信息

2 要不要学汇编语言

2.1 学习汇编语言的好处与障碍

2.2 本书如何帮助你

2.3 向高层汇编器求援

2.4 高层汇编语言或汇编器(HLA)

2.5 以高级语言思考,用底层语言编程

2.6 汇编语言的编程范型—在底层思考

2.7 获取更多信息

3 高级语言程序员应具备的80x86汇编知识

3.1 学一种汇编语言很好,能学几种汇编语言更好

3.2 80x86汇编语言的语法

3.3 文字常量

3.4 汇编语言中的明示(符号)常量

3.5 80x86的寻址模式

3.6 汇编语言的数据声明

3.7 在汇编语言中指定操作数尺寸

3.8 获取更多信息

4 编译器的操作与代码生成

4.1 编程语言所用的文件类型

4.2 编程语言的源文件

4.3 计算机语言处理器的类型

4.4 转换过程

4.5 编译器的输出

4.6 目标文件的格式

4.7 可执行文件的格式

4.8 目标文件中的数据和代码对齐

4.9 链接器及其对代码的影响

4.10 获取更多信息

5 分析编译器输出的工具

5.1 背景知识

5.2 让编译器输出汇编语言文件

5.3 通过目标码工具分析编译器的输出

5.4 通过反汇编程序分析编译器的输出

5.5 使用Java字节码反汇编程序分析Java的输出

5.6 使用IL反汇编程序分析微软C#和Visual Basic的输出

5.7 通过调试器分析编译器的输出

5.8 比对两次编译的输出

5.9 获取更多信息

6 常量与高级语言

6.1 文字常量与程序效率

6.2 绑定时刻

6.3 文字常量与明示常量的比较

6.4 常量表达式

6.5 明示常量与只读内存数据的比较

6.6 Swift的let语句

6.7 枚举类型

6.8 布尔常量

6.9 浮点数常量

6.10 字符串常量

6.11 复合数据类型的常量

6.12 常量值不会变化

6.13 获取更多信息

7 变量

7.1 运行时期的内存组织

7.2 变量是什么

7.3 变量的存储

7.4 常见的基本数据类型

7.5 变量地址与高级语言

7.6 内存中的变量对齐

7.7 获取更多信息

8 数组

8.1 何谓数组

8.2 获取更多信息

9 指针

9.1 指针的定义

9.2 高级语言的指针实现

9.3 指针与动态内存分配

9.4 指针操作与指针算术运算

9.5 内存分配的简单示例

9.6 垃圾收集

9.7 操作系统与内存分配

9.8 堆内存的开销

9.9 常见的指针问题

9.10 现代编程语言中的指针

9.11 托管指针

9.12 获取更多信息

10 字符串

10.1 字符串格式

10.2 静态字符串、伪动态字符串和动态字符串

10.3 字符串的引用计数

10.4 Delphi字符串格式

10.5 在高级语言中使用字符串

10.6 字符串中的Unicode字符数据

10.7 Unicode字符串函数和性能

10.8 获取更多信息

11 记录、联合和类

11.1 记录

11.2 判别式联合

11.3 变数类型

11.4 命名空间

11.5 类与对象

11.6 协议与接口

11.7 类、对象和性能

11.8 获取更多信息

12 算术与逻辑表达式

12.1 算术表达式与计算机架构

12.2 算术语句的优化

12.3 算术表达式的副作用

12.4 包含副作用:序列点

12.5 避免让副作用造成麻烦

12.6 强制按特定顺序计算

12.7 短路求值

12.8 算术运算的相对开销

12.9 获取更多信息

13 控制结构与程序判定

13.1 控制结构如何影响程序效率

13.2 底层控制结构入门

13.3 goto语句

13.4 if语句

13.5 switch/case语句

13.6 获取更多信息

14 迭代控制结构

14.1 while循环

14.2 repeat..until(do..until/do..while)式的循环

14.3 forever..endfor式的循环

14.4 定次的for循环

14.5 获取更多信息

15 函数与过程

15.1 简单的函数与过程调用

15.2 叶函数/叶过程

15.3 宏和内联函数

15.4 向函数/过程传递参数

15.5 活动记录和栈

15.6 参数传递机制

15.7 函数返回值

15.8 获取更多信息

后记:软件工程学

词汇表

网上附录

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部