Effective C++ in an Embedded Environment
HTTP download
FREE direct download
Free Direct Download Effective C++ in an Embedded Environment
Effective C++ in an Embedded Environment
Publisher: Artima Inc | 2012 | PDF | ISBN: N/A | 347 pages | 2.7 Mb
C++’s flexibility, modelling power, support for object-oriented and generic programming, and extensive tool set, make it attractive for embedded projects, but some developers worry about code bloat and hidden performance penalties. This seminar begins by confronting those issues directly, then moves on to demonstrate how C++ can improve the correctness, readability, and efficiency of embedded software, in some cases accomplishing what is literally impossible in C.
Detailed topic outline
Overview of “Embedded C++.”
C++ under the hood:
The efficiency philosophy behind C++
Detailed examination of virtual function implementation under single and multiple inheritance
Overview of how all other language features are implemented
Causes of code bloat and how to address them
The crucial role of inlining
Three approaches to interface-based programming:
Virtual functions and runtime polymorphism
Separate compilation and link-time polymorphism
Templates and compile-time polymorphism
Applying C++ in Embedded Systems:
Rules for what can and cannot be ROMed
Memory management:
Issues: speed, fragmentation, leaks, exhaustion
Static allocation
Dynamic allocation:
Writing custom versions of new and delete
LIFO allocation
Pool allocation
Block allocation
Other options: regions and variable-sized allocators
Modeling memory-mapped IO (MMIO):
Putting objects at specific addresses:
Placement new
reinterpret_cast
Compiler extensions
Modeling MMIO registers directly vs. indirectly
Creating shadow registers
Preventing common usage errors
Generalizing via templates
Implementing callbacks for C APIs (e.g., ISRs):
C++ functions C APIs can call
Linkage and exception issues
Approaches and their pros/cons:
Using virtual functions
Using std::tr1::function objects
Overview of TR1 and Boost
Interesting template applications:
Generating cost-free type-safe wrappers for void*-based code
Performing compile-time dimensional unit compatibility analysis
Specifying finite state machines (FSMs)
Considerations for safety-critical and real-time systems
Sources for Additional Information
Download Links
Rapidgator
http://rapidgator.net/file/63705637/16122012_19_Sheva370_Softarchive.net.pdf.html
Uploaded
http://uploaded.net/file/5odnv6nh/16122012_19_Sheva370_Softarchive.net.pdf
Extabit
http://extabit.com/file/279lwm99ipp8g/16122012_19_Sheva370_Softarchive.net.pdf
-
Just Bikes - June 2013 (PDF)
-
The Ideal Home and Garden - June 2013 (PDF)
-
Dish - No.48
-
cmiVFX - NAIAD Simulating Liquids Volume 1
-
Snack Foods Processing
-
Introduction to Finite Elements in Engineeri...
-
Handbook of Perception and Action, Volume 2:...
-
Sparc Architecture, Assembly Language Progra...
-
Tricks of the eBay Masters by Michael Miller
-
Handbook of Thermodynamic Diagrams, Volume 3...
Comments (0)
Would you like to leave your comment? Please Sign In to your account to leave comments. Don't have an account? You can create a free account now.