||Brian “Beej Jorgensen” Hall
||Online HTML, Archived HTML, PDF
You know what’s easy? fork() is easy. You can fork off new processes all day and have them deal with individual chunks of a problem in parallel. Of course, its easiest if the processes don’t have to communicate with one another while they’re running and can just sit there doing their own thing.
However, when you start fork()’ing processes, you immediately start to think of the neat multi-user things you could do if the processes could talk to each other easily. So you try making a global array and then fork()’ing to see if it is shared. (That is, see if both the child and parent process use the same array.) Soon, of course, you find that the child process has its own copy of the array and the parent is oblivious to whatever changes the child makes to it.
How do you get these guys to talk to one another, share data structures, and be generally amicable? This document discusses several methods of Interprocess Communication (IPC) that can accomplish this, some of which are better suited to certain tasks than others.
As long as you know some C or C++, this guide should springboard you into the realm of Unix IPC with hopefully as little hassle as humanly possible!
The primary reason for this document is that a lot of readers feel the existing HOWTO to be too short and incomplete, while the Bash Scripting guide is too much of a reference work. There is nothing in between these two extremes. It was also written on the general principal that not enough free basic courses are available, though they should be.
This is a practical guide which, while not always being too serious, tries to give real-life instead of theoretical examples. It was partly written because the author doesn’t get excited with stripped down and over-simplified examples written by people who know what they are talking about, showing some really cool Bash feature so much out of its context that you cannot ever use it in practical circumstances. You can read that sort of stuff after finishing this book, which contains exercises and examples that will help you survive in the real world.
From the author’s experience as a UNIX/Linux user, system administrator and trainer, he knows that people can have years of daily interaction with their systems, without having the slightest knowledge of task automation. Thus they often think that UNIX is not user friendly, and even worse, they get the impression that it is slow and old-fashioned. This problem is another one that can be remedied by this guide.
- Author: Julian Smart, Kevin Hock, Stefan Csomor
- Format: PDF
- Price: free
wxWidgets is an easy-to-use, open source C++ API for writing GUI applications that run on Windows, Linux, Unix, Mac OS X, and even Pocket PC, supporting each platform’s native look and feel with virtually no additional coding.
Now, its creator and two leading developers teach you all you need to know to write robust cross-platform software with wxWidgets. This book covers everything from dialog boxes to drag-and-drop, from networking to multithreading. It includes all the tools and code you need to get great results, fast.
From AMD to AOL, Lockheed Martin to Xerox, world-class developers are using wxWidgets to save money, increase efficiency, and reach new markets. With this book, you can, too.
- Getting Started
- Event Handling
- Window Basics
- Drawing and Printing
- Handling Input
- Window Layout Using Sizers
- Using Standard Dialogs
- Writing Custom Dialogs
- Programming with Images
- Clipboard and Drag and Drop
- Advanced Window Classes
- Files and Streams
- Memory Management, Debugging, and Error Checking
- Writing International Applications
- Writing Multithreaded Applications
- Programming with wxSocket
- Working with Documents and Views
- Perfecting Your Application
- Installing wxWidgets
- Building Your Own wxWidgets Applications
- Creating Applications with DialogBlocks
- Other Features in wxWidgets
- Third-Party Tools for wxWidgets
- wxWidgets Application Showcase
- How wxWidgets Processes Events
- Event Classes and Macros
- Code Listings
- Porting from MFC
- Author: Jasmin Blanchette, Mark Summerfield
- Format: PDF
- Price: free
This book covers all you need to build industrial-strength applications with Qt 3.2.x and C++–applications that run natively on Windows, Linux/Unix, Mac OS X, and embedded Linux with no source code changes!
The book teaches solid Qt programming practices; it is not a rehash of the documentation.
Already using Qt or just starting out? Evaluating Qt or managing it? Building open source applications–or commercial applications? Want to develop for Windows without buying an expensive compiler? Whatever your goal, this is the only book you need.
- Getting Started
- Creating Dialogs
- Creating Main Windows
- Implementing Application Functionality
- Creating Custom Widgets
- Layout Management
- Event Processing
- 2D and 3D Graphics
- Drag and Drop
- Container Classes
- Providing Online Help
- Platform-Specific Features
- Installing Qt
- Qt’s Class Hierarchy