Linux Programming Unleashed
Sams Publishing (Verlag)
978-0-672-31607-4 (ISBN)
- Titel erscheint in neuer Auflage
- Artikel merken
PLEASE PROVIDE
Linux Programming Unleashed is a complete and comprehensive reference for intermediate to advanced Linux developers that covers every possible use of Linux. Topics include: Core Linux Programming; Interprocess Communication; Device Drivers; Development Tools (make, Emacs, diff and patch, etc.); Programming the User Interface; programming (including Motif, Athena, GTK, QT, and more); Scripting; Security; System Programming Using Libraries; Package Management; and Licensing. Linux Programming Unleashed contains hundreds of professional programming techniques and code for many real world applications.
Kurt Wall, lead author, works for USWest as the focal point for all activity relating to Linux and databases (Informix) for the company. He maintains the Informix on Linux FAQ and participates in the International Informix Users Group which represents the Linux community to Informix. Mark Watson works as a Linux/ C++/ Java consultant with special interests in artificial intelligence. Mark Whitis is a Linux consultant with clients including Free Electron Labs and The Center for Advanced Space Sensing, Naval Research Lab. Michael Hamilton is a freelance Unix/ Linux C/C++ developer. Working with Linux since 1992, he is a regular contributor to Linux Journal.
Introduction.
I. THE LINUX PROGRAMMING TOOLKIT.
1. Overview.
The Little OS That Did. The Little OS That Will. A Brief History of Linux. Linux and UNIX. Programming Linux. Why Linux Programming? Summary.
2. Setting Up a Development System.
Hardware Selection. Processor/Motherboard. User Interaction Hardware: Video, Sound, Keyboard, and Mouse. Keyboard and Mouse. Communication Devices, Ports, and Buses. Storage Devices. External Peripherals. Complete Systems. Laptops. Installation. Summary.
3. Using GNU cc.
Features of GNU cc. A Short Tutorial. Common Command-line Options. Optimization Options. Debugging Options. GNU C Extensions. Summary.
4. Project Management Using GNU make.
Why make? Writing Makefiles. More About Rules. Additional make Command-line Options. Debugging make. Common make Error Messages. Useful Makefile Targets. Summary.
5. Creating Self-Configuring Software with autoconf.
Understanding autoconf. Built-In Macros. Generic Macros. An Annotated autoconf Script. Summary.
6. Comparing and Merging Source Files.
Comparing Files. Preparing Source Code Patches. Summary.
7. Version Control with RCS.
Terminology. Basic RCS Usage. rcsdiff. Other RCS Commands. Summary.
8. Creating Programs in Emacs.
Introduction to Emacs. Features Supporting Programming. Automating Emacs with Emacs Lisp. Summary.
II. SYSTEM PROGRAMMING.
9. I/O Routines.
File Descriptors. Calls That Use File Descriptors. Types of Files. Summary.
10. File Manipulation.
The File Functions. Formatted Output. Deletion and Renaming. Summary.
11. Process ControlAttributes.
System Calls and Library Functions. Scheduling Parameters. Threads. Sample Programs. Summary.
12. Accessing System Information.
Process Info. General System Info. The /proc/version File. Libraries and Utilities. Summary.
13. Handling Errors.
Please Pause for a Brief Editorial. C-Language Facilities. The System Logging Facility. Summary.
14. Memory Management.
Reviewing C Memory Management. Memory Mapping Files. Finding and Fixing Memory Problems. Summary.
III. INTERPROCESS COMMUNICATION AND NETWORK PROGRAMMING.
15. Introduction to IPC: Using Pipes.
Introduction to Using Pipes. Summary.
16. Message Queues.
Creating a Sample Message Queue Program. Running the Sample Message Queue Program. Summary.
17. Shared Memory.
Configuring Linux to Use Shared Memory. Sample Program Using Shared Memory. Running the Shared Memory Program Example. Summary.
18. Semaphores.
An Example Program Using Semaphores. Running the Semaphore Example Program. Summary.
19. TCP/IP and Socket Programming.
System Calls to Support Socket Programming. Client/Server Examples Using Sockets. A Simple Web Server and Sample Web Client. Summary.
20. UDP: The User Data Protocol.
An Example Program for Sending Data with UDP. An Example Program for Receiving UDP Data. Running the UDP Example Programs. Summary.
21. Using Multicast Sockets.
Configuring Linux to Support Multicast IP. Sample Programs for Multicast IP Broadcast. Summary.
22. Non-blocking Socket I/O.
Sample Program for Non-blocking IO. Running the Non-blocking Sample Program. Summary.
23. A C++ Class Library for TCP Sockets.
Design of C++ Client/Server Classes. Implementation of C++ Client/Server Classes. Testing the C++ Client/Server Classes. Summary.
24. Using Libraries.
Comparing libc5 and libc6. Library Tools. Writing and Using Static Libraries. Writing and Using Shared Libraries. Using Dynamically Loaded Shared Objects. Summary.
25. Device Drivers.
Types of Drivers. The Demonstration Hardware. Development Configuration. Low Level Port I/O. Initiating Interrupts to Utilize Device Drivers. Accessing Memory Using DMA. Simple Usermode Test Driver. Debugging Kernel Level Drivers. Bottom Half and Top Half. Creating a Kernel Driver. Other Sources of Information. Summary.
IV. PROGRAMMING THE USER INTERFACE.
26. Terminal Control the Hard Way.
The Terminal Interface. Controlling Terminals. Using the Terminal Interface. Changing Terminal Modes. Using terminfo. Summary.
27. Screen Manipulation with ncurses.
A Short History of ncurses. Compiling with ncurses. Debugging ncurses Programs. About Windows. Initialization and Termination. Input and Output. Color Routines. Window Management. Miscellaneous Utility Functions. Summary.
28. X Window Programming.
X Concepts. The Xlib API. The X Toolkit API. Summary.
29. Using Athena and Motif Widgets.
Using Athena Widgets. Using Motif Widgets. Writing a Custom Athena Widget. Using both Athena and Motif in C++ Programs. Using a C++ Class Library for Athena Widgets. Summary.
30. GUI Programming Using GTK.
Introduction to GTK. A GTK Program for Displaying XML Files. A GUI Program Using the Notebook Widget.
31. GUI Programming Using Qt.
Event-Handling By Overriding QWidget Class Methods. Event-Handling Using Qt Slots and Signals. Summary.
32. GUI Programming Using Java.
A Brief Introduction to Java. Writing a Chat Engine Using Sockets. Introduction to AWT. Writing a Chat Program Using AWT. Introduction to JFC. Writing a Chat Program Using JFC. Using Native Java Compilers. Summary.
33. OpenGL/Mesa Graphics Programming.
OpenGL is a Software Interface to Graphics Hardware. The Orbits Sample Program.
V. SPECIAL PROGRAMMING TECHNIQUES.
34. Shell Programming with GNU bash.
Why bash? bash Basics. Using bash Variables. Using bash Operators. Flow Control. Shell Functions. Input and Output. Command-line Processing. Processes and Job Control. Summary.
35. Secure Programming.
Types of Applications. Specific Code Issues. Erasing Buffers. HTML Form Submissions Past Firewalls. Snooping, Hijacking, and Man in the Middle Attacks. HTML Server Includes. Preforked Server Issues. Timeouts. Three Factor Authentication. Pluggable Authentication Modules. General Program Robustness. Cryptography. Summary.
36. Debugging: GNU gdb
Compiling for gdb. Using Basic gdb Commands. Advanced gdb Concepts and Commands. Summary.
VI. FINISHING TOUCHES.
37. Package Management.
Understanding tar Files. Understanding the install Command. Understanding the Red Hat Package Manager (RPM). Summary.
38. Documentation.
man Pages. Creating SGML Documents Using SGML-tools. Summary.
39. Licensing.
The MIT/X-style License. The BSD-style License. The Artistic License. The GNU General Public Licenses. The Open Source Definition. Choosing the Right License.
Appendix A. A Symbol Table Library.
Available Documentation.
Appendix B. GNU General Public License.
Index.
Erscheint lt. Verlag | 13.9.1999 |
---|---|
Verlagsort | Indianapolis |
Sprache | englisch |
Maße | 186 x 230 mm |
Gewicht | 1363 g |
Themenwelt | Informatik ► Betriebssysteme / Server ► Unix / Linux |
ISBN-10 | 0-672-31607-2 / 0672316072 |
ISBN-13 | 978-0-672-31607-4 / 9780672316074 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich