Beginning Linux Programming

4. Auflage November 2007
816 Seiten, Softcover
Praktikerbuch
Beginning Linux Programming 4th Edition
Building 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(r) and KDE(r) environments, storing data using MySQL(r), 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 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.
Foreword.
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: Standards for Linux.
Index.
All of Neil's "home" projects are developed using Linux. 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.
Neil is currently working as an Enterprise Architect specializing in IT strategy at Celesio AG. He has a background in technical consultancy, software development techniques, and quality assurance. Neil has also programmed in C and C++ for real-time embedded systems.
Rick Stones started 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, to very large help desk systems. He is currently working as an IT architect, acting as a technical authority on various major projects for a large pan-European company.
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.)