Linux Application Development (paperback) (häftad)
Fler böcker inom
Häftad (Paperback)
Antal sidor
Addison Wesley
Troan, Erik W.
244 x 190 x 35 mm
1340 g
Antal komponenter
Linux Application Development (paperback) (häftad)

Linux Application Development (paperback)

Häftad Engelska, 2004-11-01
Tillfälligt slut – klicka "Bevaka" för att få ett mejl så fort boken går att köpa igen.
"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

Visa hela texten


Har du läst boken? Sätt ditt betyg »

Bloggat om Linux Application Development (paperback)

Övrig information

Michael K. Johnson is an operating system engineer at Specifix. He was formerly an operating system developer for Red Hat, where he managed the kernel team for three and a half years, and was founding technical leader of the Fedora Project. He occasionally teaches full-day tutorials on Linux application development. Erik W. Troan, cofounder and Executive VP of Operating Systems at Specifix, was formerly Vice President of Product Engineering at Red Hat, where he was responsible for specifying and building technologies such as RPM, Linux operating systems, the Red Hat Network, high-performance Web servers, and the infrastructure for Red Hat's Web site.


List of Tables.

Code Examples.



1. History of Linux Development.

    A Short History of Free Unix Software.

    Development of Linux.

    Notional Lineage of Unix Systems.

    Linux Lineage.

2. Licenses and Copyright.



    Free Software Licenses.

3. Online System Documentation.

    The man Pages.

    The Info Pages.

    Other Documentation.


4. Development Tools.



    The GNU Debugger.

    Tracing Program Actions.

5. gcc Options and Extensions.

    gcc Options.

    Header Files.

6. The GNU C Library.

    Feature Selection.

    POSIX Interfaces.


7. Memory Debugging Tools.

    Buggy Code.

    Memory-Checking Tools Included in glibc.

    Finding Memory Leaks with mpr.

    Investigating Memory Errors with Valgrind.

    Electric Fence.

8. Creating and Using Libraries.

    Static Libraries.

    Shared Libraries.

    Designing Shared Libraries.

    Building Shared Libraries.

    Installing Shared Libraries.

    Using Shared Libraries.

9. Linux System Environment.

    The Process Environment.

    Understanding System Calls.

    Finding Header and Library Files.


10. The Process Model.

    Defining a Process.

    Process Attributes.

    Process Information.

    Process Primitives.

    Simple Children.

    Sessions and Process Groups.

    Introduction to l a d s h.

    Creating Clones.

11. Simple File Handling.

    The File Mode.

    Basic File Operations.

    Querying and Changing Inode Information.

    Manipulating Directory Entries.

    Manipulating File Descriptors.

    Creating Unnamed Pipes.

    Adding Redirection to l a d s h. ...