Concentrates on C programming, looking at the GNU tools, and the UNIX C libraries, to teach you step-by-step how to write, build and debug serious application code. Softcover.
The standout feature of Beginning Linux Programming is its wide-ranging coverage of important topics in basic Unix programming. In a series of short chapters, the authors discuss the basics of writing Unix programs in C, with material on basic system calls, file I/O, interprocess communication (for getting programs to work together), and advanced topics such as socket programming and how to create Unix device drivers.
Parallel to this, the book introduces the toolkits and libraries for working with user interfaces, from simpler terminal mode applications to X and GTK+ for graphical user interfaces. While you won't be an authority on X or GTK+ after reading this book, you will certainly be able to explore real Linux development on your own after the capable introductory guide provided here. (The book's main example, a CD-ROM database, gets enhanced in subsequent chapters using new APIs and features as the book moves forward.) This text also serves as a valuable primer on languages and tools such as Tcl, Perl, and CGI. (There's even a section that explains the basics of the Internet and HTML.)
More than ever, there is no shortage of specific information on Linux programming, but few titles provide such a wide-ranging tour of what you need to know to get serious with Linux development. In all, Beginning Linux Programming gives the reader an intelligent sampling of essential topics in today's Linux. It's a wise choice for aspiring Unix C developers or folks seeking to extend the range of their Linux knowledge. --Richard Dragan
Topics covered: Linux overview, compiling C programs, shell programming, pipes, script keywords and functions, Unix file I/O in C, Unix system functions, terminal interfaces (termios, keyboard input, the curses library), memory management, file locking, dbm databases, make and source control basics, man pages, debugging with gdb, processes and signals, POSIX threads and synchronization, IPC and pipes, semaphores, queues and shared memory, sockets, Tcl basics, X Windows and GTK+ for GNOME, Perl basics, HTML and CGI, writing Unix device drivers.
The first chapter covers programs, the C compiler, header files, staic libraries, and shared libraries. It explains they all come together to make a program in a way that it can be understood
The second chapter covers UNIX shell scripts at length. I have good book on shell scripts, and this chapter alone is just as good as that book.
The third chapter covers working with UNIX files, system calls, library functions etc... The sample programs all work as they are supposed to. Everything is clearly explained and easily understood.
The 4th chapter covers passing arguments to C programs, envorment variables, temporary files, configuring logs, and system resources.
I have not read any further, because I've only had this book a week. I've been looking for a book like this for a few years. It talks about how C and other languages interface with LINUX/UNIX rather than just giving you the pure language and leaving you to fend for yourself.Read more ›
Also, there's a chapter at the end on writing device drivers - I couldn't get any of the examples to compile on my Redhat system running kernel version 2.4.9; I guess they're due for another edition of this book.
All in all, one of the best computer books I've ever read!
Well explained, better docummented. Nice examples.
It well worth the money
Well docummented and nice examples. It worths the money