Abstract
C++ was designed to be a systems programming language and has been used for embedded systems programming and other resource-constrained types of programming since the earliest days. This paper will briefly discuss how C++’s basic model of computation and data supports time and space performance, hardware access, and predictability. If that was all we wanted, we could write assembler or C, so I show how these basic features interact with abstraction mechanisms (such as classes, inheritance, and templates) to control system complexity and improve correctness while retaining the desired predictability and performance.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abrahams, D., Gurtovoy, A.: C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond. Addison Wesley, Reading (2005), ISBN 0-321- 22725-5
Gibbs, M., Stroustrup, B.: Fast Dynamic Casting. In: Software- Practice&Experience. Wiley, Chichester (2005) (to appear)
Hansen, M.: C++ I embedded systemer. Elektronik 04. Odense Congress Center. And personal communication (September 2004)
O’Riordan, M.J.: C++ For Embedded Systems. And personal communications
The C++ Standard (ISO/IEC 14882:2002). Wiley, Chichester (2003), ISBN 0 470 84674-7
Technical Report on C++ Performance. ISO.IEC PDTR 18015, http://www.research.att.com/~bs/performanceTR.pdf
Stroustrup, B.: The Design and Evolution of C++. Addison Wesley, Reading (1994), ISBN 0- 201-54330-3
Stroustrup, B.: Learning standard C++ as a new language. C/C++ Users Journal (May 1999)
Stroustrup, B.: The C++ Programming Language. Addison Wesley, Reading (2000), ISBN 0- 201-70073-5
Stroustrup, B.: C and C++: Siblings, C and C++: A Case for Compatibility, C and C++: Case Studies in Compatibility. The C/C++
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Stroustrup, B. (2005). Abstraction and the C++ Machine Model. In: Wu, Z., Chen, C., Guo, M., Bu, J. (eds) Embedded Software and Systems. ICESS 2004. Lecture Notes in Computer Science, vol 3605. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11535409_1
Download citation
DOI: https://doi.org/10.1007/11535409_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-28128-3
Online ISBN: 978-3-540-31823-1
eBook Packages: Computer ScienceComputer Science (R0)