[Vous devez être inscrit et connecté pour voir cette image]
Book Description
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.
Back Cover Copy
"I really like the software engineering advice given here. As the chief engineer/architect for a large development group, I can say with certainty that the advice given in this book about how real-world projects must work is right on the mark."
--Steve Vinoski, coauthor of Advanced CORBA Programming with C++, columnist for C/C++ Users Journal and IEEE Internet Computing, and Chief Architect, IONA Technologies
Applied C++ is a practical, straightforward guide to developing high-quality, maintainable software. It reflects the power of C++, templates, and the Standard Template Library for industrial-strength programming. Whether you are a single developer or work in a large team, the tips and techniques presented in this book will help you improve your language and design skills and show you how to solve substantial problems more effectively.
The authors, drawing on their extensive professional experience, teach largely by example. To illustrate software techniques useful for any application, they develop a toolkit to solve the complex problem of digital image manipulation. By using a concrete, real-world problem and describing exact feature, performance, and extensibility requirements, the authors show you how to leverage existing software components and the tools inherent in C++ to speed development, promote reuse, and deliver successful software products.
Inside Applied C++, you will find:
* A C++ templates primer
* Workable coding guidelines and extensive coding examples
* Quick lists of need-to-know information about Exceptions, Assertions, and Standard Template Library components
* A technique for effectively using prototypes to move your design from an initial concept to a robust solution
* A technique for building debugging support into your software without a ton of overhead
* Thirteen specific techniques to improve the overall performance of your software
The accompanying CD-ROM contains the source code for the book's example project, including the image framework, unit test framework, and makefiles. The CD also includes useful third-party software such as Sysinternal's DebugView, evaluation versions of the Intel Integrated Performance Primitives (Intel IPP) for optimizing your code, and the Intel C++ Compiler.
Table des matières
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 Object's 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.
[Vous devez être inscrit et connecté pour voir ce lien]
Book Description
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.
Back Cover Copy
"I really like the software engineering advice given here. As the chief engineer/architect for a large development group, I can say with certainty that the advice given in this book about how real-world projects must work is right on the mark."
--Steve Vinoski, coauthor of Advanced CORBA Programming with C++, columnist for C/C++ Users Journal and IEEE Internet Computing, and Chief Architect, IONA Technologies
Applied C++ is a practical, straightforward guide to developing high-quality, maintainable software. It reflects the power of C++, templates, and the Standard Template Library for industrial-strength programming. Whether you are a single developer or work in a large team, the tips and techniques presented in this book will help you improve your language and design skills and show you how to solve substantial problems more effectively.
The authors, drawing on their extensive professional experience, teach largely by example. To illustrate software techniques useful for any application, they develop a toolkit to solve the complex problem of digital image manipulation. By using a concrete, real-world problem and describing exact feature, performance, and extensibility requirements, the authors show you how to leverage existing software components and the tools inherent in C++ to speed development, promote reuse, and deliver successful software products.
Inside Applied C++, you will find:
* A C++ templates primer
* Workable coding guidelines and extensive coding examples
* Quick lists of need-to-know information about Exceptions, Assertions, and Standard Template Library components
* A technique for effectively using prototypes to move your design from an initial concept to a robust solution
* A technique for building debugging support into your software without a ton of overhead
* Thirteen specific techniques to improve the overall performance of your software
The accompanying CD-ROM contains the source code for the book's example project, including the image framework, unit test framework, and makefiles. The CD also includes useful third-party software such as Sysinternal's DebugView, evaluation versions of the Intel Integrated Performance Primitives (Intel IPP) for optimizing your code, and the Intel C++ Compiler.
Table des matières
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 Object's 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.
[Vous devez être inscrit et connecté pour voir ce lien]
Jeu 28 Nov - 8:07 par arsenepoutsi
» CCNA version 4 français
Dim 31 Mar - 15:15 par kadhouceeee
» Trés important " Livre exercices en langage C ( claude delannoy) "
Jeu 27 Sep - 16:31 par latifa oustouh
» Ulead VideoStudio 11.5.0157.2 Plus + Crack Collection
Jeu 26 Avr - 9:51 par miloduvi
» Langage IDL(Interface Definition Language)
Mar 27 Sep - 13:02 par Abdelkhalek Bakkari
» demande cours PHP
Jeu 2 Juin - 11:23 par elasriahmed
» exemple page web réaliser avec du html et JavaScript
Lun 30 Mai - 4:05 par ouh.rouchan.zakaria
» cours group2_ 2année 2011
Dim 20 Mar - 15:35 par El Maligno Angelo
» Cours : Infrastructures Réseaux 2003 Server
Mar 15 Fév - 6:55 par jettjackson
» cours officiel de CCNA 2
Mar 18 Jan - 13:53 par agares