| || |
Beginning Linux Programming, Third Edition
by Neil Matthew, Richard Stones, and Alan Cox
(Respecting the intellectual property of others is utmost important to us, we make every effort to make sure we only link to legitimate sites, such as those sites owned by authors and publishers. If you have any questions about these links, please contact us.)
Provided you have some previous basic exposure to C and Unix, Beginning Linux Programming delivers an excellent overview of the world of Linux development with an appealing range of essential tools and APIs.
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.
What is this book about?
If you have some programming experience and are ready to venture into Linux programming, this updated edition of the bestselling entry-level book takes you there. The authors guide you step by step, using construction of a CD database application to give you hands-on experience as you progress from the basic to the complex. You’ll start with fundamental concepts like writing Unix programs in C. You’ll learn basic system calls, file I/O, interprocess communication, and shell programming. You’ll become skilled with the toolkits and libraries for working with user interfaces.
The book starts from the basics, explaining how to compile and run your first program. New to this edition are chapters on MySQL® access and administration; programming GNOME and KDE; and Linux standards for portable applications. Coverage of kernel programming, device drivers, CVS, grep, and GUI development environments has expanded. This book gives you practical knowledge for real wor ld application.
What does this book cover?
In this book, you will learn how to
- Develop programs to access files and the Linux environment
- Use the GNU compiler, debugger and other development tools
- Program data storage aapplications for MySQL and DBM database systems
- Write programs that take advantage of signals, processes and threads
- Build graphical user interfaces using both the GTK (for GNOME) and Qt (for KDE) libraries
- Write device drivers that can be loaded into the Linux kernel
- Access the network using TCP/IP sockets
- Write scripts that use grep, regular expressions and other Linux facilities
Who is this book for?
This book is for programmers with some C or C++ experience, who want to take advantage of the Linux development environment. You should have enough Linux familiarity to have installed and configured users on Linux.
Completely revised and updated, this bestseller continues to offer a unique, straightforward, and structured approach to learning UNIX programming on the Linux platform.
New chapters cover topics such as MySQL access and administration, programming GNOME using the GTK GNOME architecture, programming KDE using Qt, and Linux standards for portable applications.
* Offers in-depth coverage of Linux programming basics for the reader needing a thorough introduction
* Detailed and realistic examples help readers learn by doing, enabling them to move from programming basics to sophisticated custom applications
* Covers C programming fundamentals on the Linux platform, including material on basic system calls, file I/O, interprocess communication, and shell programming
Text presents fundamental concepts in Linux programming, such as writing programs in C, basic system calls, file I/O, interprocess communication, and shell programming. For programmers with some C or C++ experience. Previous edition: c1999. Softcover.
From the Publisher
Building on the proven success of the first edition this book continues its unique aproach to teaching UNIX programming in a simple and structured way on the Linux platform.
Through the use of detailed and realistic examples, the reader learns by doing, and in the course of a single book, is able to move from being a Linux beginner to creating custom Internet applications in Linux.
From the Back Cover
If you have some programming experience and are ready to venture into Linux programming, this updated edition of the bestselling entry-level book takes you there. New to this edition are chapters on MySQL® access and administration; programming GNOMETM and KDETM; and Linux standards for portable applications. Coverage of kernel programming, device drivers, CVS, grep, and GUI development environments has expanded.
The authors guide you step by step, using construction of a CD database application to give you hands-on experience as you progress from the basic to the complex.
You’ll start with fundamental concepts like writing Linux programs in C. You’ll learn basic system calls, file I/O, interprocess communication, and shell programming. You’ll become skilled with the toolkits and libraries for working with user interfaces. The book starts with the basics, explaining how to compile and run your first program. First, each concept is explained to give you a solid understanding of the material. Practical examples are then presented, so you see how to apply the knowledge in real applications.
What you will learn from this book
- To write scripts that use grep, regular expressions, and other Linux facilities
- To develop programs to access files and the Linux environment
- To use the GNU compiler, debugger and other development tools
- To program data storage applications for MySQL and DBM database systems
- To write programs that take advantage of signals, processes, and threads
- To access the network using TCP/IP sockets
- To build graphical user interfaces using both the GTK (for GNOME) and Qt (for KDE) libraries
- To write device drivers that can be loaded into the Linux kernel
Who this book is for
This book is for programmers with some C or C++ experience who want to take advantage of the Linux development environment. You should have enough Linux familiarity to have installed and configured users on Linux.
Wrox Beginning guides are crafted to make learning programming languages and technologies easier than you think, providing a structured, tutorial format that will guide you through all the techniques involved.
About the Author
Neil Matthew has been interested in and has programmed computers since 1974. Amathematics graduate from the University of Nottingham, Neil is just plain keen on programming languages and likes to explore new ways of solving computing problems. He’s written systems to program in BCPL, FP (Functional Programming), Lisp, Prolog, and a structured BASIC. He even wrote a 6502 microprocessor emulator to run BBC microcomputer programs on UNIX systems.
In terms of UNIX experience, Neil has used almost every flavor since the late 1970s, including BSD UNIX, AT&T System V, Sun Solaris, IBM AIX, many others, and of course Linux.
Neil can claim to have been using Linux since August 1993 when he acquired a floppy disk distribution of Soft Landing (SLS) from Canada, with kernel version 0.99.11. He’s used Linux-based computers for hacking C, C++, Icon, Prolog, Tcl, and Java at home and at work.
Most of Neil’s “home” projects were originally developed using SCO UNIX, but they’ve all ported to Linux with little or no trouble. He says Linux is much easier because it supports quite a lot of features from other systems, so that both BSD- and System V–targeted programs will generally compile with little or no change.
As the head of software and principal engineer at Camtec Electronics in the 1980s, Neil programmed in C and C++ for real-time embedded systems. Since then he’s worked on software development techniques and quality assurance. After a spell as a consultant with Scientific Generics he is currently working as a systems architect with Celesio AG.
Neil is married to Christine and has two children, Alexandra and Adrian. He lives in a converted barn in Northamptonshire, England. His interests include solving puzzles by computer, music, science fiction, squash, mountain biking, and not doing it yourself.
Rick Stones programming at school, more years ago than he cares to remember, on a 6502-powered BBC micro, which with the help of a few spare parts continued to function for the next 15 years. He graduated from Nottingham University with a degree in Electronic Engineering, but decided software was more fun.
Over the years he has worked for a variety of companies, from the very small with just a dozen employees, to the very large, including the IT services giant EDS. Along the way he has worked on a range of projects, from real-time communications to accounting systems, very large help desk systems, and more recently as the technical authority on a large EPoS and retail central systems program.
A bit of a programming linguist, he has programmed in various assemblers, a rather neat proprietary telecommunications language called SL-1, some FORTRAN, Pascal, Perl, SQL, and smidgeons of Python and C++, as well as C. (Under duress he even admits that he was once reasonably proficient in Visual Basic, but tries not to advertise this aberration.)
Rick lives in a village in Leicestershire, England, with his wife Ann, children Jennifer and Andrew, and two cats. Outside work his main interest is classical music, especially early religious music, and he even does his best to find time for some piano practice. He is currently trying to learn to speak German.
Related Free eBooks