Applied C++
Addison-Wesley Educational Publishers Inc
978-0-321-10894-4 (ISBN)
- Titel ist leider vergriffen;
keine Neuauflage - Artikel merken
This book takes C++ a step further from the books that describe specific features of C++. It provides concrete techniques and methods for delivering commercial-quality software; software that must be portable across many platforms, meet performance goals, and be maintainable and understandable both to customers and internal developers alike. The authors include a simple image processing system to demonstrate the techniques of developing robust C++ software; it's a really fun and interesting system for programmers and developers. After reading the book, you will have an image processing framework that is useful for manipulating digital images and a practical toolkit of C++ utilities. This book is unique because it is about software development, not just programming. Sections like Reusable Code and Portability will get the reader thinking about more than trying to come up with the fastest way to code the solution to a problem.
Philip Romanik is an independent consultant who has been designing and implementing real-world software applications for the past twenty years. He is an expert in the development of real-time, embedded software for performance-intensive applications. He has created patentable technology for his clients and has provided services to such leading companies as Eastman Kodak and Microsoft. Amy Muntz is an independent consultant who holds advanced technical and business degrees, and writes from broad experience in both fields. She specializes in the development and management of aggressive software projects, successfully helping her clients over the past fifteen years build and market products that meet their business objectives. 0321108949AB03212003
Preface.
1. Introduction.
Imaging Basics.
RGB Images.
HSI Images.
Summary.
2. A Test Application.
Image Class Design.
Thumbnail Class.
Thumbnail Algorithm.
Implementation.
Image Class.
Thumbnail Class.
Summary.
3. Design Techniques.
Memory Allocation.
Why a Memory Allocation Object Is Needed.
Memory Allocation Object Requirements.
A Primer on Templates.
Notations Used in Class Diagrams.
Memory Allocator Objects Class Hierarchy.
Prototyping.
Why Prototyping Works.
Common Fears.
Our Image Framework Prototyping Strategy.
Prototype 1: Simple Image Objects.
Prototype 2: Templated Image Objects.
Prototype 3: Separating Storage from Image Objects.
Summary.
4. Design Considerations.
Coding Guidelines.
Changes to Existing Software.
Naming Conventions.
Indentation.
Comments.
Header File Issues.
Restrictions.
Reusable Code.
The Economics of Reusability.
Designing in Debugging Support.
Creating a Generalized Debugging Stream.
Creating Sinks.
Connecting a Sink to a Stream.
Controlling Debugging Output.
Accessing Objects Indirectly Through an Object Registry.
Summary.
5. System Considerations.
Multithreaded and Multiprocess Designs.
Threads.
Thread Synchronization.
Processes.
Exception Handling.
Designing Your Own Exception Framework.
Avoiding Exception Abuse.
Using Assertions.
Compile-Time Versus Run-Time Issues.
Compiler Issues.
Run-Time Issues.
Template Specialization.
Coding for Internationalization.
Unicode.
A Simple Resource Manager for Strings.
Saving and Restoring Strings from Files.
An Alternate Approach to Handling Strings.
Locales.
Summary.
6. Implementation Considerations.
Finalizing the Image Components.
Image Coordinates.
Image Storage.
Pixel Types.
Finalizing the Image Class.
Image Object.
Adding Global Image Functions.
Copying an Image.
Processing Single Source Images.
Processing Two Source Images.
Processing Images with Neighborhood Operators.
Generating Thumbnails.
Finalizing Interfaces to Third-Party Software.
File Delegates.
Image Delegates.
Summary.
7. Testing and Performance.
Unit Tests.
Using the Unit Test Framework.
Design of the Unit Test Framework.
Extending the Unit Test Framework.
Performance Tuning.
General Guidelines.
Thirteen Ways to Improve Performance.
Image-Specific Improvements.
A Note About Timing Your Code.
Summary.
8. Advanced Topics.
Memory Issues.
Copy on Write.
Caching Issues.
Language Construct Issues.
Explicit Keyword Usage.
Const Usage.
Pass by Reference Usage.
Extending the Framework.
Adding Image Processing Functions.
Enhancing Digital Photographs.
Summary.
A. Useful Online Resources.
Software.
Standards.
B. CD-ROM Information.
Contents.
Framework.
Prototypes.
Utilities.
DebugView Utility.
Intel C++ Compiler.
Delegates.
Intel Integrated Performance Primitives (IPP).
JPEG.
TIFF.
Bibliography.
Index. 0321108949T04142003
Erscheint lt. Verlag | 28.5.2003 |
---|---|
Verlagsort | New Jersey |
Sprache | englisch |
Maße | 188 x 235 mm |
Gewicht | 577 g |
Themenwelt | Informatik ► Programmiersprachen / -werkzeuge ► C / C++ |
ISBN-10 | 0-321-10894-9 / 0321108949 |
ISBN-13 | 978-0-321-10894-4 / 9780321108944 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |