Synopses & Reviews
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 GNOME
TM and KDE
TM; 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.
Synopsis
Beginning Linux Programming 4th EditionBuilding on the success of its previous editions, this must-have guide continues its popular tutorial approach and brings you a straightforward introduction to developing programs for Linux and other UNIX-style operating systems. The author duo of experienced Linux programmers covers a wide range of topics to help you learn more about what Linux has to offer so you can maximize your programming time and your use of the Linux system.
You'll progress from the basics of compiling programs, linking to libraries, and dealing with terminal input and output to more advanced subjects such as writing applications for the GNOME® and KDE® environments, storing data using MySQL®, and debugging. As each topic is covered, the authors introduce an appropriate programming theory and then illustrate it with practical examples, clear explanations, and a step-by-step approach with the intent that you will learn by doing. You'll quickly evolve from being a Linux beginner to confidently creating custom applications in Linux.
What you will learn from this book
How to use the standard Linux C libraries and other facilities
Ways to make the most of the standard Linux development tools
Tips on basic system calls, file I/O, interprocess communication, and shell programming
How to build graphical user interfaces using the GTK+ or Qt toolkits
Using sockets to support TCP/IP networking to different machines
How to write programs that will work on different distributions of Linux
Who this book is for
This book is for programmers and developers who want to increase their skill level using Linux. Experience in C and/or C++ programming is helpful.
Wrox Beginning guidesare 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.
Synopsis
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.
Selling PointsOffers 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
Synopsis
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.
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.
Table of Contents
Foreword by Alan Cox.
Introduction.
Chapter 1: Getting Started.
Chapter 2: Shell Programming.
Chapter 3: Working with Files.
Chapter 4: The Linux Environment.
Chapter 5: Terminals.
Chapter 6: Managing Text-Based Screens with curses.
Chapter 7: Data Management.
Chapter 8: MySQL.
Chapter 9: Development Tools.
Chapter 10: Debugging.
Chapter 11: Processes and Signals.
Chapter 12: POSIX Threads.
Chapter 13: Inter-Process Communication: Pipes.
Chapter 14: Semaphores, Shared Memory, and Message Queues.
Chapter 15: Sockets.
Chapter 16: Programming GNOME Using GTK+.
Chapter 17: Programming KDE Using Qt.
Chapter 18: Device Drivers.
Chapter 19: Standards for Linux.
Index.