• 读书网|DuShu.com - 读书·学习·生活
  •  | 繁體版
  • 论坛
  • 畅销
  • 连载
  • 图书
  • 资讯
  • 首页
  • 国学/古籍 | 文学艺术 | 人文社科 | 经济管理 | 生活时尚 | 科学技术 | 教材教辅 | 少儿读物
  •    
  • 图书搜索:
  •  
     全部图书 可读图书 可购图书
     
  • Linux 应用程序开发 - 书籍详细信息
  • 查看同类图书:科学技术»计算机/网络»操作系统»Linux»Linux 应用程序开发
  • Linux 应用程序开发

  • 【作 者】:(美)约翰逊(Johnson, M.K.), (美)特罗安(Troan, E.W.)著;武延军, 郭松柳
  • 【又/译名】:Linux Application Development
  • 【丛编项】:
  • 【装帧项】:胶版纸 小32开 / 490页
  • 【出版项】:电子工业出版社 / 2005.11/2版
  • 【ISBN号】:9787121017957 / 7121017954
  • 【原书定价】:¥59.00 有12家书店打折销售 
  • 【主题词】:Linux操作系统程序设计
  • 【图书简介】
    本书介绍了Linux环境下进行应用程序开发需要掌握的知识,对许多编程实践中经常遇到的内容进行了详细的讲解,并且提供了典型的实例加以说明。 全书分为四个部分。第1部分是初学者需要了解的知识,包括Linux的历史、从事自由软件开发需要了解的版权知识和GPL等许可证,以及如何获取和使用在线文档系统。第2部分介绍了开发环境和工具。其中包括Vi,emacs编辑器,gdb调试器的使用,gcc的选项和扩展,GNU C库的基本知识,内存溢出和泄漏的调试工具,如何创建、使用、管理静态库和动态库,以及如何通过系统调用请求系统服务。第3部分详细介绍了Linux系统编程知识。其中包括进程模型,简单文件管理,信号处理,高级文件操作,目录操作,作业控制,终端与伪终端,socket网络,时I司和定时器,随机数,虚拟控制台,Linux控制台,以及如何编写安全的程序。第4部分精选了Linux编程中最常用的开发库进行介绍。其中包括字符串匹配,用于终端编程的S-lang库,基于散列的数据库函数库,命令行解析库,如何运行时动态加载共享对象,以及有关用户身份识别和验证的库。 本书内容丰富、实用,语言通俗,不仅适合初学者学习,也适合熟悉Unix环境编程的高级开发人员参考。-读书网|DuShu.com
  • 【作者简介】
      MichaelK.Johson是Specifix的操作系统工程师。他曾是RedHat的操作系统开发人员,在那里他管理一个内核开发小组长达3年半,是Fedora项目基础技术的领导。他也曾做过有关Linux应用程序开发的全日制的教学工作。ErikW.Troan是Specifix的操作系统的合伙创始人和执行副总裁。他曾经是RedHat产品工程部的副总裁,负责规格描述和创建技术,例如RPM、Linux操作系统,RedHat网络、高性能服务器以及RedHat网站的基础设施。
  • 【本书目录】
    第1部分  起步
    第1章  Linux的发展历史    2
    1.1  自由Unix软件简史    3
    1.2  Linux的发展    4
    1.3  Unix系统的概念谱系    5
    1.4  Linux谱系    7
    第2章  许可证和版权    8
    2.1  版权    8
    2.2  许可    10
    2.3  自由软件许可证    10
    2.3.1  GNU通用公共许可证    11
    2.3.2  GNU库通用公共许可证    12
    2.3.3  MIT/X/BSD风格的许可证    12
    2.3.4  旧BSD风格的许可证    12
    2.3.5  艺术许可证    12
    2.3.6  许可证的不兼容性    13
    第3章  在线系统文档    14
    3.1  man手册页    14
    3.2  info手册页    15
    3.3  其他文档    15
    第2部分  开发工具和环境
    第4章  开发工具    18
    4.1  编辑器    19
    4.1.1  Emacs    20
    4.1.2  vi    21
    4.2  Make    21
    4.2.1  复杂命令行    24
    4.2.2  变量    25
    4.2.3  后缀规则    26
    4.3  GNU的调试器    27
    4.4  跟踪程序行为    31
    第5章  gcc的选项和扩展    33
    5.1  gcc选项    33
    5.2  头文件    36
    5.2.1  long long    36
    5.2.2  内嵌函数    36
    5.2.3  可选择的扩展关键字    36
    5.2.4  特征    37
    第6章  GNC的C语言库    38
    6.1  特征选择    38
    6.2  POSIX接口    40
    6.2.1  POSIX要求的类型    40
    6.2.2  发现运行时的权能    42
    6.2.3  查找和设置基本系统信息    43
    6.3  兼容性    45
    第7章  内存调试工具    46
    7.1  存在Bug的代码    46
    7.2  glibc的内存检查工具    48
    7.2.1  发现内存堆的损坏    49
    7.2.2  使用mtrace()来跟踪分配情况    52
    7.3  利用mpr找到内存泄露    53
    7.4  利用valgrind发现内存错误    55
    7.5  电网    60
    7.5.1  使用电网    61
    7.5.2  内存对齐    61
    7.5.3  其他特性    63
    7.5.4  局限性    63
    7.5.5  资源消耗    63
    第8章  创建和使用库    65
    8.1  静态库    65
    8.2  共享库    66
    8.3  设计共享库    67
    8.3.1  管理兼容性    67
    8.3.2  不兼容的库    68
    8.3.3  设计兼容的库    68
    8.4  构造共享库    69
    8.5  安装共享库    70
    例子    71
    8.6  使用共享库    72
    8.6.1  使用无须安装的库    73
    8.6.2  提前装载库    73
    第9章  Linux系统环境    75
    9.1  进程环境    75
    9.2  理解系统调用    76
    9.2.1  系统调用的限制    77
    9.2.2  系统调用的返回码    77
    9.2.3  使用系统调用    79
    9.2.4  通用错误返回码    80
    9.3  查找头文件和库文件    85
    第3部分  系统编程
    第10章  进程模型    88
    10.1  定义进程    88
    10.1.1  使用线程的复杂性    88
    10.1.2  Linux的方式    89
    10.2  进程属性    89
    10.2.1  pid及其生成    89
    10.2.2  信用状    90
    10.2.3  文件系统用户标识符    94
    10.2.4  关于uid和gid的总结    95
    10.3  进程信息    96
    10.3.1  程序参数    97
    10.3.2  资源的使用    98
    10.3.3  建立使用限制    100
    10.4  进程基本元素    101
    10.4.1  创建子进程    102
    10.4.2  等待子进程结束    103
    10.4.3  运行新程序    104
    10.4.4  用vfork()更快速地创建进程    106
    10.4.5  自我终止    107
    10.4.6  终止其他进程    107
    10.4.7  转储内核文件信息    109
    10.5  简单子进程    109
    10.5.1  用system()运行和等待    109
    10.5.2  从进程读或写    110
    10.6  会话和进程组    112
    10.6.1  会话    113
    10.6.2  控制终端    113
    10.6.3  进程组    113
    10.6.4  孤儿进程组    114
    10.7  介绍ladsh    115
    用ladsh运行外部程序    116
    10.8  创建克隆    129
    第11章  简单的文件管理    130
    11.1  文件模式    132
    11.1.1  文件访问权限    133
    11.1.2  文件权限修饰符    134
    11.1.3  文件类型    136
    11.1.4  进程的umask    137
    11.2  基本的文件操作    138
    11.2.1  文件描述符    138
    11.2.2  关闭文件    139
    11.2.3  在文件系统中打开文件    139
    11.2.4  文件的读、写以及位置
    11.2.4  指针的移动    141
    11.2.5  局部读和写    145
    11.2.6  缩短文件    147
    11.2.7  同步文件    147
    11.2.8  其他操作    148
    11.3  查询和修改Inode信息    149
    11.3.1  查找Inode信息    149
    11.3.2  一个使用stat()的简单示例    150
    11.3.3  轻松确定访问权限    152
    11.3.4  改变文件的访问权限    153
    11.3.5  改变文件的所有者和组    153
    11.3.6  改变文件的时间戳    154
    11.3.7  Ext3扩展属性    155
    11.4  操作目录项    159
    11.4.1  创建设备文件以及命名管道的目录项    160
    11.4.2  创建硬链接    162
    11.4.3  使用符号链接    163
    11.4.4  删除文件    164
    11.4.5  重命名文件    164
    11.5  操作文件描述符    165
    11.5.1  改变打开文件的访问模式    165
    11.5.2  修改close-on-exec标志    166
    11.5.3  复制文件描述符    166
    11.6  创建无名管道    167
    11.7  对ladsh添加重定向    168
    11.7.1  数据结构    168
    11.7.2  修改代码    169
    第12章  信号处理    172
    12.1  信号的概念    173
    12.1.1  信号的生命周期    173
    12.1.2  简单信号    173
    12.1.3  可靠信号    175
    12.1.4  信号和系统调用    176
    12.2  Linux(和POSIX)信号系统的API    177
    12.2.1  发送信号    177
    12.2.2  使用sigset_t    178
    12.2.3  捕捉信号    178
    12.2.4  操作一个进程的信号掩码    180
    12.2.5  找到等待信号的集合    182
    12.2.6  等待信号    182
    12.3  有效信号    183
    描述信号    187
    12.4  编写信号处理程序    188
    12.5  重新打开日志文件    190
    12.6  实时信号    193
    信号队列和排序    193
    12.7  获取信号的信息    196
    12.7.1  得到一个信号的上下文    196
    12.7.2  使用信号发送数据    202
    第13章  高级文件操作    205
    13.1  多路输入输出    205
    13.1.1  非阻塞I/O    208
    13.1.2  用poll()的多路传输    209
    13.1.3  使用select()的多路传输    213
    13.1.4  比较poll()和select()    217
    13.1.5  使用epoll进行多路传输    220
    13.1.6  比较poll()和epoll    225
    13.2  内存映射    229
    13.2.1  页对齐    230
    13.2.2  建立内存映射    230
    13.2.3  撤销映射区域    235
    13.2.4  同步内存区域到磁盘    235
    13.2.5  锁定内存区域    236
    13.3  文件锁定    237
    13.3.1  文件锁    238
    13.3.2  记录锁    239
    13.3.3  强制锁    245
    13.3.4  租赁文件    245
    13.4  read()和write()的替代方法    249
    13.4.1  分散/聚集的读和写    249
    13.4.2  忽略文件指针    251
    第14章  目录操作    253
    14.1  当前工作目录    253
    14.1.1  查找当前工作目录    253
    14.1.2  特殊文件“.”和“..”    255
    14.1.3  当前目录    255
    14.2  改变根目录    256
    14.3  创建和删除目录    256
    14.3.1  创建新目录    256
    14.3.2  删除目录    257
    14.4  读取目录的内容    257
    再次读取目录内容    259
    14.5  文件名匹配搜索    259
    14.5.1  使用子进程    260
    14.5.2  内在匹配搜索    261
    14.6  为ladsh增加目录和匹配功能    265
    14.6.1  增加cd和pwd    266
    14.6.2  增加文件名匹配查询    267
    14.7  遍历文件系统的树结构    270
    14.7.1  使用ftw()    270
    14.7.2  用nftw()函数进行文件树遍历    272
    14.7.3  实现find功能    274
    14.8  目录变更提示    276
    第15章  作业控制    284
    15.1  作业控制基础    284
    15.1.1  重新启动进程    284
    15.1.2  停止进程    285
    15.1.3  处理作业控制信号    285
    15.2  ladsh中的作业控制    287
    第16章  终端与伪终端    293
    16.1  tty操作    294
    16.1.1  终端实用函数    294
    16.1.2  控制终端    295
    16.1.3  终端所有权    296
    16.1.4  用utemper工具进行记录    297
    16.1.5  手工记录    298
    16.2  termios概述    308
    16.3  termios实例    309
    16.3.1  密码    309
    16.3.2  串行通信    311
    16.4  termios调试    325
    16.5  termios参考    326
    16.5.1  函数    327
    16.5.2  窗口尺寸    330
    16.5.3  标志位    331
    16.5.4  输入模式标记    332
    16.5.5  输出模式标记    334
    16.5.6  控制模式标记    335
    16.5.7  控制模式字符    336
    16.5.8  本地模式标记    338
    16.5.9  控制read()    340
    16.6  伪终端    341
    16.6.1  打开伪终端    342
    16.6.2  打开伪终端的简单方法    343
    16.6.3  打开伪终端的复杂方法    344
    16.6.4  伪终端范例    348
    第17章  socket网络    358
    17.1  协议支持    358
    17.1.1  理想的网络    358
    17.1.2  实际的网络    359
    17.1.3  让实际的网络变得理想    360
    17.1.4  地址    360
    17.2  实用函数    361
    17.3  基本套接字操作    362
    17.3.1  建立一个套接字    362
    17.3.2  建立连接    364
    17.3.3  将地址绑定到套接字    364
    17.3.4  等待连接    364
    17.3.5  连接到一个服务器    365
    17.3.6  找到连接地址    366
    17.4  Unix域套接字    367
    17.4.1  Unix域地址    367
    17.4.2  等待一个连接    368
    17.4.3  连接到一个服务器    370
    17.4.4  运行Unix域的示例    371
    17.4.5  未命名的Unix域套接字    371
    17.4.6  传递文件描述符    372
    17.5  基于TCP/IP协议的联网机器    377
    17.5.1  字节存储顺序    377
    17.5.2  IPv4地址    378
    17.5.3  IPv6地址    380
    17.5.4  IP地址的操作    382
    17.5.5  转换名称到地址    384
    17.5.6  转换地址到名称    395
    17.5.7  监听TCP连接    400
    17.5.8  TCP客户端应用程序    403
    17.6  使用UDP数据报    404
    17.6.1  创建一个UDP套接字    405
    17.6.2  发送和接收数据报    406
    17.6.3  一个简单的tftp服务器    407
    17.7  套接字错误    413
    17.8  旧的网络函数    415
    17.8.1  IPv4地址操作    415
    17.8.2  主机名解析    417
    17.8.3  旧的主机信息查找范例    418
    17.8.4  查找端口号    420
    第18章  时间    423
    18.1  获取时间和日期    423
    18.1.1  时间和日期的表示    423
    18.1.2  时间的转换,格式化和解析    426
    18.1.3  时间的限制    429
    18.2  使用计时器    431
    18.2.1  休眠    431
    18.2.2  间隔计时器    432
    第19章  随机数    436
    19.1  伪随机数    436
    19.2  密码系统和随机数    437
    第20章  虚拟控制台编程    439
    20.1  起步    440
    20.2  发出峰鸣声    442
    20.3  判断终端是否为虚拟控制台    443
    20.4  查找当前虚拟控制台    443
    20.5  管理虚拟控制台的切换    444
    20.6  范例:open命令    447
    第21章  Linux控制台    449
    21.1  权能数据库    450
    21.2  图标,字符和映射    451
    21.3  Linux控制台权能    452
    21.3.1  控制字符    453
    21.3.2  转义字符序列    454
    21.3.3  测试序列    455
    21.3.4  复杂转义字符序列    456
    21.4  直接写屏幕    461
    第22章  编写安全程序    464
    22.1  安全何时重要    464
    安全何时失效    465
    22.2  最小化攻击时机    466
    22.2.1  放弃权限    466
    22.2.2  采用辅助手段    467
    22.2.3  限制文件系统的访问    468
    22.3  常见的安全漏洞    469
    22.3.1  缓冲区溢出    469
    22.3.2  解析文件名    474
    22.3.3  环境变量    474
    22.3.4  运行Shell    475
    22.3.5  创建临时文件    476
    22.3.6  竞争状态和信号处理    478
    22.3.7  关闭文件描述符    478
    22.4  作为守护进程运行    479
    第4部分  开发库
    第23章  字符串的匹配    482
    23.1  匹配任意字符串    482
    23.2  正则表达式    483
    23.2.1  Linux正则表达式    483
    23.2.2  正则表达式的匹配    484
    23.2.3  一个简单的grep示例    489
    第24章  用S-Lang来处理终端    495
    24.1  输入处理    495
    24.1.1  初始化S-Lang的输入处理    496
    24.1.2  恢复终端状态    497
    24.1.3  从终端读取字符    497
    24.1.4  检查未决的输入    498
    24.2  输出处理    498
    24.2.1  初始化屏幕管理    499
    24.2.2  更新显示    499
    24.2.3  移动光标    499
    24.2.4  结束屏幕管理    500
    24.2.5  屏幕管理的框架程序    500
    24.2.6  切换字符集    501
    24.2.7  输出到屏幕    502
    24.2.8  画线和画矩形    503
    24.2.9  使用颜色    505
    第25章  基于散列的数据库函数库    508
    25.1  概述    508
    25.2  基本操作    509
    25.2.1  打开qdbm文件    509
    25.2.2  关闭数据库    510
    25.2.3  获得文件描述符    511
    25.2.4  同步数据库    511
    25.3  读取记录    512
    25.3.1  读取特定的记录    512
    25.3.2  顺序读取记录    513
    25.4  修改数据库    513
    25.4.1  增加记录    513
    25.4.2  删除记录    514
    25.5  实例    514
    第26章  解析命令行选项    521
    26.1  选项表    522
    26.1.1 定义选项    522
    26.1.2  嵌套选项表    525
    26.2  使用选项表    526
    26.2.1  创建上下文    526
    26.2.2  解析命令行    527
    26.2.3  剩余的参数    528
    26.2.4  自动帮助信息    528
    26.3  使用回调(callback)    531
    26.4  错误处理    534
    26.5  选项别名    536
    26.5.1  指定别名    536
    26.5.2  使别名生效    537
    26.6  解析参数字符串    538
    26.7  处理额外参数    538
    26.8  应用程序示例    538
    第27章  运行时动态加载    540
    动态加载接口    541
    示例    544
    第28章  用户识别和验证    546
    28.1  ID到名字的转换    546
    示例:id命令    549
    28.2  可挂接的认证模块    552
    28.2.1  PAM 会话    553
    28.2.2  PAM操作    555
    附      录
    附录A  头文件    564
    附录B  ladsh源文件    565
    词汇表    584
    参考文献    593
    索引    597
  • 【购买本书】
  • 商城名称价格 配送信息优惠活动去看看购买

    卓越网
    ¥46.50
    送货上门:国内308个城市
    邮寄:全球
    特快专递:全球
    海外航空快递
    七周年店庆,全场免费配送 去看看 订购

    当当网
    ¥46.61 当天加急送:北京五环以内
    送货上门:国内178个城市
    邮寄:全球
    特快专递:全球
    特惠商品68折封顶 去看看 订购

    中国书网
    ¥48.97
    送货上门:全国81个城市
    邮寄:全国(中国邮政)
    特快专递:全国
    去看看 订购

    蔚蓝书店
    ¥50.20 送货上门:国内45个城市
    邮寄:全球
    特快专递:全国600城市
    其他:海内外EMS快递
    快钱支付,最高8元现金返还,用即送 去看看 订购

    中国图书网
    ¥53.10
    送货上门:全国30个城市
    邮寄、快递:全国
    特快专递EMS:全球
    订单金额超过100元免费配送
    精品藏书拍卖活动
    去看看 订购

    华储网
    ¥47.20 送货上门:辽宁、长春、北京
    快递、邮政递送:全球
    30万春节大礼包连环送,全场7折+满100免运费 去看看 订购

    互动出版网
    ¥47.20
    送货上门:数十个大中城市
    邮寄、快递:全国
    特快专递EMS:全球
    去看看 订购

    D1便利网
    ¥50.20 送货上门:数十个大中城市
    邮寄:全球
    其他:全国大件货运
    全场满99免运费 去看看 订购

    中国理论图书网
    ¥53.10
    送货上门:北京四环内
    邮寄:全国、海外
    特快专递:全国
    店庆两周年,推出系列打折活动 去看看 订购

    第二书店
    ¥44.30 当天加急送:北京五环以内
    送货上门:国内178个城市
    邮寄:全球
    特快专递:全球
    北京用户69折封顶
    满99免运费
    去看看 订购

    时代网上书店
    ¥50.15
    送货上门:成都市免费送货上门
    邮寄:全国挂号邮寄
    特快专递:全国
    满100送T恤 去看看 订购

    万卷百城
    ¥59.00 去看看 订购

    中国图书馆网
    ¥0.4/页起
    邮寄、快递:全国
    特快专递EMS:全球
    提供稀缺绝版图书文献影印服务 去看看 预定
  • 说明:
  • 1、由于网上书店可能根据各种情况随时调整价格,我们的价格信息存在滞后性。以上价格仅作参考,具体以网上书店标示的价格为准。
    2、如价格折扣信息和原书定价存在较大误差,可能是该店售书为本书的不同版本或不同装祯形式,请读者自行鉴别。
    3、对如何网上购书存在疑问,请点击上面购书指南链接查询。
  • Copyright © 读书网 www.dushu.com 2006-2007, All Rights Reserved.
    鄂ICP备06000781号 公安备4201502577