Book description
"The first edition of this book has always been kept within
arm's reach of my desk due to the wonderful explanations of all
areas of the Linux userspace API. This second edition greatly
overshadows the first one, and will replace it."
--Greg Kroah-Hartman, Linux kernel programmer
Develop Software that Leverages the Full Power of Today's Linux
Linux Application Development, Second Edition, is the definitive reference for Linux programmers at all levels of experience, including C programmers moving from other operating systems. Building on their widely praised first edition, leading Linux programmers Michael Johnson and Erik Troan systematically present the key APIs and techniques you need to create robust, secure, efficient software or to port existing code to Linux.
This book has been fully updated for the Linux 2.6 kernel, GNU C library version 2.3, the latest POSIX standards, and the Single Unix Specification, Issue 6. Its deep coverage of Linux-specific extensions and features helps you take advantage of the full power of contemporary Linux. Along the way, the authors share insights, tips, and tricks for developers working with any recent Linux distribution, and virtually any version of Unix.
Topics include
Developing in Linux: understanding the operating system, licensing,
and documentation
The development environment: compilers, linker and loader, and unique
debugging tools
System programming: process models, file handling, signal processing, directory operations, and job control
Terminals, sockets, timers, virtual consoles, and the Linux console
Development libraries: string matching, terminal handling, command-line parsing, authentication, and more
Hundreds of downloadable code samples
New to this edition
The GNU C library (glibc), underlying standards, and test macros
Writing secure Linux programs, system daemons, and utilities
Significantly expanded coverage of memory debugging, including Valgrind and mpr
Greatly improved coverage of regular expressions
IPv6 networking coverage, including new system library interfaces for using IPv6 and IPv4 interchangeably
Coverage of strace, ltrace, real-time signals, poll and epoll system calls, popt library improvements, Pluggable Authentication Modules (PAM), qdbm, and much more
Improved index and glossary, plus line-numbered code examples
Table of contents
- Copyright
- List of Tables
- Code Examples
- Preface
- 1. Getting Started
-
2. Development Tools and Environment
- 4. Development Tools
- 5. gcc Options and Extensions
- 6. The GNU C Library
- 7. Memory Debugging Tools
- 8. Creating and Using Libraries
- 9. Linux System Environment
-
3. System Programming
- 10. The Process Model
- 11. Simple File Handling
- 12. Signal Processing
- 13. Advanced File Handling
- 14. Directory Operations
- 15. Job Control
- 16. Terminals and Pseudo Terminals
- 17. Networking with Sockets
- 18. Time
- 19. Random Numbers
- 20. Programming Virtual Consoles
- 21. The Linux Console
- 22. Writing Secure Programs
-
4. Development Libraries
- 23. String Matching
- 24. Terminal Handling with S-Lang
- 25. A Hashed Database Library
- 26. Parsing Command-Line Options
- 27. Dynamic Loading at Run Time
- 28. User Identification and Authentication
- Appendices
- Glossary
- Bibliography
Product information
- Title: Linux Application Development, Second Edition
- Author(s):
- Release date: November 2004
- Publisher(s): Addison-Wesley Professional
- ISBN: 9780321219145
You might also like
book
Embedded Linux Development using Yocto Projects - Second Edition
Optimize and boost your Linux-based system with Yocto Project and increase its reliability and robustness efficiently …
book
Embedded Linux for Developers
Leverage the power of Linux to develop captivating and powerful embedded Linux projects About This Book …
book
A Practical Guide to Ubuntu Linux, Third Edition
The Most Complete, Easy-to-Follow Guide to Ubuntu Linux The #1 Ubuntu server resource, fully updated for …
book
Linux in a Nutshell, 6th Edition
Everything you need to know about Linux is in this book. Written by Stephen Figgins, Ellen …