图书介绍

UNIX到Linux的移植PDF|Epub|txt|kindle电子书版本网盘下载

UNIX到Linux的移植
  • (美)门多萨(Mendoza,A.),(美)斯卡沃坦纳德(Skawratananond,C,),(美)沃科(Walker,A.)著;张昕等译 著
  • 出版社: 北京:机械工业出版社
  • ISBN:7111209117
  • 出版时间:2007
  • 标注页数:408页
  • 文件大小:82MB
  • 文件页数:424页
  • 主题词:UNIX操作系统-程序设计;Linux操作系统-程序设计

PDF下载


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

下载说明

UNIX到Linux的移植PDF格式电子书版下载

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

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

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

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

图书目录

第1章 项目移植思考1

1.1软件程序商业过程1

1.2移植过程2

1.2.1调查2

1.2.2分析3

1.2.3移植3

1.2.4测试4

1.2.5支持4

1.3定义项目范围和目标4

1.4估计5

1.4.1技能水平和移植经验6

1.4.2编译器6

1.4.3第三方软件和中间件的可用性6

1.4.4编译环境和工具7

1.4.5平台依赖的结构7

1.4.6平台/硬件依赖的代码7

1.4.7搭建测试环境8

1.4.8用户接口需求8

1.5创建项目移植进度表9

1.6从商业角度看移植过程10

1.7带注解的技术调查问卷样例10

1.7.1平台相关的内容10

1.7.2应用程序相关的内容11

1.7.3数据库内容13

1.7.4项目移植时间进度内容14

1.7.5测试相关的内容14

1.7.6项目移植的执行内容15

1.8小结15

第2章 调查16

2.1编译器16

2.1.1GNUgccC编译器16

2.1.2GNUg++(C++)编译器17

2.1.3GNUg77FORTRAN编译器18

2.1.4GNUJava编译器19

2.1.5GNUCOBOL19

2.1.6其他编译器19

2.2Java环境19

2.3编译环境20

2.3.1gmake20

2.3.2GNU二进制工具20

2.3.3GNUas21

2.3.4集成开发环境23

2.4LinuxShell23

2.5打包23

2.5.1用RPM打包应用程序24

2.5.2RPM的基本用法24

2.5.3LSB推荐的基准打包格式25

2.6项目管理任务25

2.7小结26

第3章 分析28

3.1Linux标准28

3.2GNUlibc库29

3.3GNU科学库30

3.4共享库31

3.5库版本化32

3.5.1外部库版本化32

3.5.2符号版本化34

3.6动态链接器(运行时链接器)39

3.6.1编程接口40

3.6.2延迟重定位42

3.6.3初始化和终止化函数43

3.7系统调用43

3.8大页面支持43

3.9NativePOSIX线程库(NPTL)48

3.10国际化(118N)和本地化49

3.10.1iconv支持50

3.10.2如何创建消息目录53

3.11大小端环境54

3.12从32位移植到64位55

3.12.1常见的移植错误56

3.12.2最优方法57

3.13小结57

第4章 移植Solaris应用程序59

4.1准备工作59

4.1.1搭建移植系统59

4.1.2搭建代码修改管理系统59

4.1.3搭建编译系统60

4.2常见的区别60

4.2.1C语言61

4.2.2C++语言61

4.2.3GNUC/C++语言61

4.2.4Java语言61

4.2.5线程61

4.2.6所支持的标准之间的比较61

4.3编译器62

4.3.1C编译器63

4.3.2C编译器选项63

4.3.3C++编译器选项69

4.3.4GNUg++的模板实例化76

4.3.5编译32位或64位目标文件77

4.3.6编译器的优化和性能选项78

4.3.7Linux平台上的命名空间选择78

4.4链接器79

4.4.1输出映射82

4.4.2链接器工具82

4.4.3共享库82

4.4.4库版本化83

4.4.5动态链接器83

4.5移植shell脚本到Linux83

4.6国际化和本地化84

4.7Make85

4.7.1为C++语言内建的Makefile变量86

4.7.2库依赖86

4.7.3空规则86

4.7.4当前目标86

4.7.5SCCS和RCS文件87

4.7.6有条件地给宏赋值87

4.7.7模式替换宏的引用87

4.7.8VPATH87

4.7.9命令执行88

4.7.10特殊目标88

4.7.11环境变量88

4.7.12退出状态89

4.8调试器89

4.9线程89

4.9.1Solarislibthread与Linuxlibpthread89

4.9.2Solarislibpthread与Linuxlibpthread91

4.9.3取消点94

4.9.4C++异常和Linux线程95

4.10信号98

4.10.1信号动作98

4.10.2简单信号99

4.10.3Linux的信号支持100

4.10.4POSIX信号捕获函数102

4.10.5信号集102

4.10.6信号信息103

4.10.7kill()104

4.11系统调用104

4.11.1open()104

4.11.2fcntl()105

4.11.3dirent107

4.11.4CPU亲和性(Affinity)108

4.11.5fork()108

4.12系统库108

4.13Solaris和LinuxAPI108

4.13.1内存管理109

4.13.2进程间通信(IPC)109

4.13.3内存布置优化(MPO)114

4.13.4vfstab115

4.13.5posix_spawn()和posix_spwawnp()115

4.13.6plock()115

4.13.7waitpid()115

4.14科学库116

4.15大页面支持117

4.16Solaris上一些不可移植的编程用法117

4.17小结117

第5章 移植AIX应用程序119

5.1准备工作119

5.1.1搭建移植系统119

5.1.2搭建代码修改管理系统119

5.1.3搭建编译系统120

5.2常见的区别120

5.2.1C语言120

5.2.2C++语言121

5.2.3GNUC/C++语言121

5.2.4Java语言121

5.2.5线程121

5.2.6所支持的标准之间的比较121

5.3编译器122

5.4Make130

5.5链接器131

5.5.1链接器的不兼容性131

5.5.2链接器:从AIX移植到Linux参考手册133

5.6AIX和Linux创建共享库的比较133

5.7动态装载134

5.8AIX和Linux上模板实例化的区别135

5.8.1使用#pragma或#include135

5.8.2GNU中其他可用的模板选项138

5.9C++filt工具138

5.10系统API:AIX/Linux139

5.11部分AIX/Linux系统API之间的比较143

5.11.1getfsent()、getfsfile()、getfstype()、getfsspec()144

5.11.2ioctl()145

5.11.3read()、write()146

5.11.4confstr()148

5.11.5opendir()148

5.11.6readdir()149

5.11.7fcntl()149

5.11.8llseek()、lseek()、lseek64()153

5.11.9uname)154

5.11.10syslog()、closelog()、openlog()154

5.11.11swapoff()、swapon()155

5.11.12acct()156

5.11.13mmap()、mmap64()、munmap()157

5.11.14pread()、pwrite()159

5.11.15stat()、lstat()、fstat()160

5.11.16ptrace()161

5.11.17setgid()、setregid()163

5.11.18sync()163

5.11.19wait3()、wait4()164

5.11.20getcwd()165

5.11.21mount()、umount()、vmount()166

5.11.22readv()、writev()169

5.11.23select()170

5.11.24reboot()172

5.11.25chroot()173

5.11.26fstatfs()、statfs()174

5.11.27poll()176

5.11.28quotactl()177

5.12AIX上的一些非标准的编程用法179

5.13信号180

5.13.1信号动作180

5.13.2简单信号180

5.14网络编程185

5.15进程间通信(IPC)186

5.15.1信号量186

5.15.2系统V信号量集187

5.15.3消息队列188

5.15.4共享内存190

5.16POSIX线程191

5.16.1Linux和AIX的线程模型比较191

5.16.2内核空间线程192

5.16.3用户空间线程192

5.16.4AIX和LinuxPOSIX线程交叉对比192

5.17大页面支持195

5.18通用API195

5.19小结195

第6章 移植HP-UX应用程序198

6.1准备工作198

6.1.1搭建移植系统198

6.1.2搭建代码修改管理系统198

6.1.3搭建编译环境199

6.2常见的区别199

6.2.1C语言199

6.2.2C++语言200

6.2.3GNUC/C++语言200

6.2.4Java语言200

6.2.5线程200

6.2.6所支持标准之间的比较200

6.3编译器201

6.3.1C编译器选项202

6.3.2C++编译器选项205

6.3.3GNUg++的模板实例化208

6.3.4编译32/64位二进制程序210

6.3.5编译器优化和性能选项210

6.3.6使用GNU进行移植和编译211

6.3.7Linux平台上的命名空间选择212

6.4链接器213

6.4.1输出映射214

6.4.2链接器工具214

6.5库版本化214

6.5.1HP-UX上的库版本化214

6.5.2Linux上的库版本化215

6.6动态链接和共享库215

6.7移植shell脚本到Linux216

6.8国际化(118N)217

6.9软件开发工具220

6.9.1Makefile语法221

6.9.2调试器222

6.10线程223

6.10.1HP-UX和Linux上的线程支持224

6.10.2HP-UXDCE和POSIX线程的区别227

6.10.3调试Linux线程228

6.10.4C++异常和Linux线程233

6.10.5链接线程安全的库239

6.11信号239

6.11.1信号动作239

6.11.2简单信号240

6.11.3信号发送241

6.11.4Linux的信号支持242

6.11.5POSIX信号捕获函数242

6.11.6信号信息243

6.11.7信号默认动作245

6.12HP-UX上的系统调用和Linux上的对应调用246

6.12.1检查POSIXAPI支持246

6.12.2检查Linux内核版本251

6.13系统库251

6.14GNU科学库252

6.15HP-UX和LinuxAPI253

6.15.1glibc版本253

6.15.2glibc遵循的标准254

6.15.3HP-UX上的一些不可移植的编程用法254

6.16进程间通信254

6.16.1管道255

6.16.2FIFO255

6.16.3POSIX消息队列255

6.16.4POSIX信号量256

6.16.5POSIX共享内存257

6.16.6系统V共享内存257

6.16.7系统V消息257

6.16.8系统V信号量258

6.17小结258

第7章 测试和调试260

7.1使用GNU调试器260

7.1.1编译可以使用GDB的程序260

7.1.2调用GDB261

7.1.3GDB基本命令261

7.1.4调试多进程262

7.1.5调试多线程应用程序263

7.1.6停止多线程程序266

7.1.7GDB初始化文件267

7.1.8GDB和信号267

7.1.9GDB的图形化前端269

7.2strace和ltrace270

7.3cscope工具270

7.4glibc调试支持272

7.5内存调试工具274

7.5.1ElectricFence274

7.5.2GNU/Linuxmtrace、mcheck、MALLOCCHECK275

7.5.3Mpatrol276

7.5.4dmalloc277

7.5.5valgrind277

7.5.6RationalPurify278

7.5.7Insure++278

7.6静态程序检查器279

7.6.1Splint279

7.6.2CodeSonar279

7.7线程跟踪工具279

7.8性能监测工具280

7.8.1内部视角280

7.8.2外部视角286

7.8.3其他工具290

7.9小结292

附录ASolaris到Linux参考表293

附录BAIX到Linux参考表319

附录CHP-UX到Linux参考表334

附录DPOWER上的Linux384

附录Egprofhelper387

附录FIBMzSeries大型机相关的移植问题390

附录GSolaris到Linux移植:系统管理员指南397

热门推荐