Table of Contents GNU/Linux Application Programming Reader’s Guide Acknowledgments Part I - Introduction Chapter 1 - U/Linux History Chapter 2 - GNU/Linux Architecture Chapter 3 - Free Software Development Part II - GNU Tools Chapter 4 - The GNU Compiler Toolchain Chapter 5 - Building Software with GNU make Chapter 6 - Building and Using Libraries Chapter 7 - Coverage Testing with GNU gcov Chapter 8 - Profiling with GNU gprof Chapter 9 - Building Packages with automake/autoconf Part III - Application Development Topics Chapter 10 - File Handling in GNU/Linux Chapter 11 - Programming with Pipes Chapter 12 - Introduction to Sockets Programming Chapter 13 - GNU/Linux Process Model Chapter 14 - POSIX Threads (Pthreads) Programming Chapter 15 - IPC with Message Queues Chapter 16 - Synchronization with Semaphores Chapter 17 - Shared Memory Programming Chapter 18 - Other Application Development Topics Part IV - GNU/Linux Shells and Scripting Chapter 19 - GNU/Linux Commands Chapter 20 - Bourne-Again Shell (bash) Chapter 21 - Editing with sed Chapter 22 - Text Processing with awk Chapter 23 - Parser Generation with flex and bison Part V - Debugging and Testing Chapter 24 - Software Unit Testing Frameworks Chapter 25 - Debugging with GDB Chapter 26 - Code Hardening Appendix A - Acronyms and Partial Acronyms Appendix B - About the CD-ROM Appendix C - Software License Index List of Figures List of Tables List of Listings