Linux Programming
lo conte
eBook
IntroductionLinux has always provided a rich programming environment, and it has only grown richer.Two new compilers, egcs and pgcs, joined the GNU project’s gcc, the original Linuxcompiler. In fact, as this book went to press, the Free Software Foundation, custodians ofthe GNU project, announced that gcc would be maintained by the creators and maintainersof egcs. A huge variety of editors stand alongside the spartan and much-maligned viand emacs’ marvelous complexity. Driven largely by the Linux kernel, GNU’s C libraryhas evolved so dramatically that a new version, glibc (also known as libc6) has emergedas the standard C library. Linux hackers have honed the GNU project’s always serviceabledevelopment suite into powerful tools. New widget sets have taken their placebeside the old UNIX standbys. Lesstif is a free, source-compatible implementation ofMotif 1.2; KDE, the K Desktop Environment based on the Qt class libraries fromTrollTech, answers the desktop challenge posed by the X Consortium’s CDE (CommonDesktop Environment).What This Book Will Do for YouIn this book, we propose to show you how to program in, on, and for Linux. We’llfocus almost exclusively on the C language because C is still Linux’s lingua franca.After introducing you to some essential development tools, we dive right in tosystem programming, followed by a section on interprocess communication and networkprogramming.After a section devoted to programming Linux’s user interface with both text-based andgraphical tools (the X Window system), a section on specialized topics, including shellprogramming, security considerations, and using the GNU project’s gdb debugger,rounds out the technical discussion. We close the book with three chapters on a topicnormally disregarded in programming books: delivering your application to users. Thesefinal chapters show you how to use package management tools such as RPM, how tocreate useful documentation, and discuss licensing issues and options. If we’ve done ourjob correctly, you should be well prepared to participate in the great sociological andtechnological phenomenon called “Linux.”