Linux应用程序开发

作者:Andrew Johnson
Linux Application Development
  • 作者:Michael K. Johnson & Erik W. Troan

  • 出版社:Addison Wesley

  • 价格:$45.95 美元

  • ISBN:0-201-30821-5

  • 评论员:Andrew Johnson

Linux应用程序开发 是一本关于Linux编程的可靠入门书籍。它不是试图教你编程或C语言,而是作为经验丰富的C程序员熟悉Linux编程模型的专题参考。

这本书分为四个主要部分。第一部分,“入门”,包含三个简短的章节,涵盖Linux的历史、许可证和版权问题,以及Linux文档、邮件列表和其他书籍和信息来源的可用性和位置。

第二部分介绍了Linux开发环境和工具。一些内容的覆盖范围很小;例如,关于GNU调试器,gdb的部分,只包含基本调试器命令的简短列表,并引用了另外两本提供调试器教程的书籍。 内存调试工具的覆盖范围更广泛。 这包括源代码示例以及有关创建和使用库的信息。 还有关于makegcc编译器及其选项、系统调用和常见错误代码的简短但重要的覆盖。

第三部分,“系统编程”的十二个章节,构成了本书的主体。 这些章节,像其他地方一样,被大量地细分为小节,我发现第一次阅读时有点分散注意力,但对于以后重新定位信息来说非常方便。

作者在覆盖的广度和深度方面给出了一个很好的平衡,章节重点关注进程、简单和高级文件处理、目录操作、信号、作业控制、终端处理、套接字编程、日期和时间、随机数和控制台编程。 几乎所有这些主题都通过小的源代码示例进行补充。

一个更大的示例程序,ladsh,是一个简化的UNIX命令shell,它在几个章节的过程中进行开发,最终支持简单的内置命令、命令执行、I/O重定向和作业控制。 这个程序的最终版本是710行代码,通过其开发过程提供了一个很好的练习,可以将Linux系统编程的一些基本元素联系在一起。

第四部分描述了一些重要的开发库,例如S-Lang终端库、Berkeley数据库库和popt选项解析库。 本节还提供了关于正则表达式、使用dl进行动态加载以及名称和用户数据库的简要讨论。

最后,三个附录涵盖了直接I/O端口访问、ladsh程序的最终源代码版本和GNU许可证。

总的来说,这本书组织得很好,写作和解释清晰简洁。 虽然明确设计为经验丰富的C程序员切换到Linux的参考,但我会推荐它作为任何刚开始在Linux环境中学习C语言的人的良好补充资源。

Andrew Johnson 目前是一名全日制学生,正在攻读体质人类学博士学位,同时也是一名兼职程序员和技术作家。 他与他的妻子和两个儿子住在马尼托巴省温尼伯市,并且只要有机会,就会享用一杯好的黑啤酒。 可以通过电子邮件 ajohnson@gpu.srv.ualberta.ca 联系他。

加载Disqus评论