本书介绍了在Linux环境下开发应用程序需要掌握的知识,对编程实践中经常遇到的问题进行了详细的讲解,并提供了典型实例加以说明。本书内容丰富、实用,适合需要开发Linux软件,或者需要把软件从其他平台移植到Linux上的程序员阅读。
本书介绍了在Linux环境下开发应用程序需要掌握的知识,对编程实践中经常遇到的问题进行了详细的讲解,并提供了典型实例加以说明。
全书共分为4个部分。第一部分介绍初学者需要了解的知识,包括Linux的历史、从事自由软件开发需要了解的版权知识和GPL等许可证,以及如何获取和使用在线文档系统。第二部分介绍了开发环境和工具,其中包括Emacs编辑器、vi编辑器及gdb调试器的使用,gcc的选项和扩展,GNU C库的基本知识,内存溢出和泄漏的调试工具,如何创建、使用、管理静态库和动态库,以及如何通过系统调用请求系统服务。第三部分详细介绍了Linux系统编程知识,其中包括进程模型、简单文件管理、信号处理、高级文件操作、目录操作、作业控制、终端与伪终端、socket网络、时间和定时器、随机数、虚拟控制台、Linux控制台以及如何编写安全的程序。第四部分精选了Linux编程中最常用的开发库进行介绍,其中包括字符串匹配、用于终端编程的S-Lang库、基于散列的数据库函数库、命令行解析库,如何运行时动态加载共享对象,以及有关用户身份识别和验证的库。
本书内容丰富、实用,适合需要开发Linux软件,或者需要把软件从其他平台移植到Linux上的程序员阅读。
Part 1 Getting Started
Chapter 1 History of Linux Development
Chapter 2 Licenses and Copyright
Chapter 3 Online System Documentation
Part 2 Development
Chapter 4 Development Tools
Chapter 5 gcc Options and Extensions
Chapter 6 The GNU C Library
Chapter 7 Memory Debugging Tools
Chapter 8 Creating and Using Libraries
Chapter 9 Linux System Environment
Part 3 System Programming
Chapter 10 The Process Model
Chapter 11 Simple File Handling
Chapter 12 Signal Processing
Chapter 13 Advanced File Handling
Chapter 14 Directory Operations
Chapter 15 Job Control
Chapter 16 Terminals and Pseudo Terminals
Chapter 17 Networking with Sockets
Chapter 18 Time
Chapter 19 Random Numbers
Chapter 20 Programming Virtual Consoles
Chapter 21 The Linux Console
Chapter 22 Writing Secure Programs
Part 4 Development Libraries
Chapter 23 String Matching
Chapter 24 Terminal Handling with S-Lang
Chapter 25 A Hashed Database Library
Chapter 26 Parsing Command-Line Options
Chapter 27 Dynamic Loading at Run Time
Chapter 28 User Identification and Authentication
Appendices
Appendix A Header Files
Appendix B ladsh Source Code
Glossary
Bibliography
Index