图书介绍

跨平台软件开发PDF|Epub|txt|kindle电子书版本网盘下载

跨平台软件开发
  • (美)胡克(Hook,B.)著;齐立博译 著
  • 出版社: 北京:清华大学出版社
  • ISBN:7302139075
  • 出版时间:2006
  • 标注页数:198页
  • 文件大小:28MB
  • 文件页数:209页
  • 主题词:软件开发

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

跨平台软件开发PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

1.1 可移植性是一种考虑问题的方式,而不是一种状态1

第1章 可移植性概念1

1.2 培养良好的可移植性编程习惯2

1.3 良好的习惯胜过故障或标准的具体知识2

1.3.1 尽早经常移植3

1.3.2 在不同的环境中开发3

1.3.3 使用不同的编译器4

1.3.4 在多个平台上进行测试4

1.3.5 支持多个程序库4

1.4 为新项目规划可移植性5

1.4.1 使可移植性变得容易5

1.4.2 选择可移植性的合理水平5

1.4.3 不要将项目变成专有产品7

1.5.2 只做最低限度必要的改动9

1.5.3 规划攻击目标9

1.5 移植旧程序9

1.5.1 除非程序已经被移植,否则就认定该程序是不可移植的9

1.5.4 在修改控制程序中记录每一件事10

第2章 ANSI C与C++11

2.1 选择C和C++语言的理由11

2.1.1 C和C++提供了低级访问11

2.1.2 C与C++编译成本机代码12

2.2 C与C++的术语12

2.3 可移植性与C/C++13

第3章 可移植性技术17

3.1 避免使用新特性17

3.2 处理变化的特性18

3.3 使用安全的串行化和反串行化21

3.4 综合测试23

3.5.1 编译时断言25

3.5 使用编译选项25

3.5.2 严格编译26

3.6 从可移植文件中隔离平台相关文件26

3.7 编写简单明了的代码27

3.8 使用唯一的名称27

3.9 实现抽象29

3.9.1 分派抽象30

3.9.2 抽象数据类型(typedef)35

3.9.3 使用C预处理程序37

3.9.4 对无法预料的事情做好准备38

3.9.5 传输与系统相关的信息39

3.9.6 桥接函数41

3.10.1 避免使用自修改代码/动态生成代码42

3.10 低级编程42

3.10.2 保持高级后退46

3.10.3 关键字register47

3.10.4 外部与嵌入式asm文件48

第4章 编辑与源代码控制51

4.1 文本文件行结束格式之间的差异51

4.2 可移植的文件名53

4.3 源控制53

4.3.1 源控制系统54

4.3.2 通过代理程序迁出56

4.4 构建工具57

4.4.1 平台特有的构建工具57

4.4.2 可移植的构建工具58

4.5 编辑器61

4.6 本章小结62

5.1 对齐63

第5章 处理器的不同之处63

5.2 字节排序和Endianess66

5.2.1 Big-Endian值与Little-Endian值的比较66

5.2.2 标准化存储格式68

5.2.3 固定的网络字节排序69

5.3 带符号整数的表示方法70

5.4 本地类型的大小70

5.5 地址空间74

5.6 本章小结75

第6章 浮点77

6.1 浮点的历史77

6.2 标准的C与C++浮点支持78

6.3.1 不一致的评估79

6.3 浮点的问题79

6.3.2 浮点与联网应用程序80

6.3.3 转换81

6.4 定点整数数学82

6.5 从浮点数中析取整数位82

6.6 实现查询85

6.7 异常结果87

6.7.1 特殊值88

6.7.2 异常89

6.7.3 浮点环境访问89

6.8 存储格式90

6.9 本章小结91

第7章 预处理程序93

7.1 预定义符号93

7.2 头文件95

7.2.2 头文件名96

7.2.1 头文件的路径规范96

7.3 配置宏97

7.4 条件编译98

7.5 Pragma99

7.6 本章小结99

第8章 编译器101

8.1 结构大小、填充和对齐101

8.2 内存管理的特性104

8.2.1 释放的影响104

8.2.2 对齐的内存分配104

8.3 堆栈105

8.3.1 堆栈的大小105

8.4 printf()例程106

8.3.2 alloca()的问题106

8.5 类型尺寸与行为107

8.5.1 64位整数类型107

8.5.2 基本类型的尺寸108

8.5.3 有符号与无符号的char类型110

8.5.4 作用如同int的enum111

8.5.5 数字常量112

8.5.6 有符号与无符号的右移112

8.6 调用约定113

8.6.1 名称修饰114

8.6.2 函数指针与回调114

8.6.3 可移植性115

8.7 返回结构116

8.8 Bitfield116

8.9 注释117

8.10 本章小结118

第9章 用户交互作用119

9.1 用户界面的演变119

9.1.1 命令行119

9.1.2 窗口系统120

9.2 本机GUI与应用程序GUI的比较121

9.3 低级图形121

9.4 数字音频122

9.5 输入123

9.5.1 键盘123

9.5.2 鼠标123

9.6 跨平台工具箱124

9.7 本章小结124

9.5.3 操纵杆与游戏键盘124

第10章 联网125

10.1 网络协议的演化125

10.2 编程接口126

10.2.1 套接字126

10.2.2 RPC(远程过程调用)与RMI(远程方法调用)128

10.2.3 分布式对象129

10.3 本章小结129

第11章 操作系统131

11.1 操作系统的演化131

11.2 宿主环境与独立式环境132

11.3 操作系统可移植性的悖论132

11.4 内存133

11.4.1 内存限制133

11.4.2 内存映射133

11.4.3 受保护内存134

11.5 进程与线程135

11.5.1 进程控制与通信函数135

11.5.2 IPC(进程间通信)135

11.5.3 多线程技术136

11.6 环境变量140

11.7 异常处理141

11.7.1 C异常处理141

11.7.2 C++异常处理142

11.8 用户数据存储142

11.8.1 Microsoft Windows注册表143

11.8.2 Linux用户数据144

11.8.3 OS X的首选项144

11.9.2 特权目录与数据145

11.9.1 应用程序安装145

11.9 安全与许可145

11.9.3 低级访问146

11.10 本章小结146

第12章 动态库147

12.1 动态链接147

12.2 动态加载148

12.3 共享库的问题(亦称为DLL地狱)148

12.3.1 版本问题148

12.3.2 扩散150

12.4 Gun LGPL150

12.5 Windows DLL150

12.6 Linux的共享对象153

12.7 Mac OS X架构、插件与捆绑154

12.7.1 架构154

12.7.2 捆绑155

12.7.3 插件156

12.8 本章小结157

第13章 文件系统159

13.1 符号链接、快捷方式与别名159

13.1.1 Windows的LNK文件160

13.1.2 Unix的链接160

13.2 路径规范160

13.2.1 磁盘驱动器与卷说明符161

13.2.2 路径分隔符与其他特殊字符161

13.2.3 当前目录161

13.2.4 路径长度162

13.2.5 区分大小写162

13.3 安全性与访问权限162

13.6 特殊目录164

13.5 文件属性164

13.4 Macintoch的古怪行为164

13.7 文本处理165

13.8 C运行时库与可移植文件访问165

13.9 本章小结166

第14章 可扩缩性167

14.1 较好的算法等于较好的可扩缩性167

14.2 可扩缩性的局限性168

14.3 本章小结169

第15章 可移植性与数据171

15.1 应用程序数据与资源文件171

15.1.1 二进制文件171

15.1.2 文本文件171

15.1.3 XML173

15.2 创建可移植的图形174

15.1.4 作为数据文件的脚本语言174

15.4 本章小结175

15.3 创建可移植的音频175

第16章 国际化与本地化177

16.1 字符串与统一代码标准177

16.2 货币179

16.3 界面元素180

16.4 本章小结180

第17章 脚本语言183

17.1 脚本语言的一些缺点184

17.2 JavaScript/ECMAScript184

17.3 Python185

17.5 Ruby186

17.6 本章小结186

17.4 Lua186

第18章 跨平台的程序库与工具包187

18.1 库187

18.2 应用程序架构188

18.2.1 Qt188

18.2.2 GTK+188

18.2.3 FLTK188

18.2.4 wxWidgets189

18.3 本章小结189

附录A 可移植开源装置(POSH)191

A.1 POSH的预定义符号191

A.2 POSH的固定大小类型192

A.3 POSH的实用函数和宏193

附录B 用于可移植性的规则197

热门推荐