MARC details
000 -LEADER |
fixed length control field |
07184cam a2200553Ii 4500 |
001 - CONTROL NUMBER |
control field |
42797 |
003 - CONTROL NUMBER IDENTIFIER |
control field |
0000000000 |
005 - DATE AND TIME OF LATEST TRANSACTION |
control field |
20240411193056.0 |
006 - FIXED-LENGTH DATA ELEMENTS--ADDITIONAL MATERIAL CHARACTERISTICS |
fixed length control field |
m o d |
007 - PHYSICAL DESCRIPTION FIXED FIELD--GENERAL INFORMATION |
fixed length control field |
cr cnu|||unuuu |
008 - FIXED-LENGTH DATA ELEMENTS--GENERAL INFORMATION |
fixed length control field |
151130t20152015gw ob 001 0 eng d |
019 ## - |
-- |
931591399 |
020 ## - INTERNATIONAL STANDARD BOOK NUMBER |
International Standard Book Number |
3662478102 |
Qualifying information |
electronic bk |
020 ## - INTERNATIONAL STANDARD BOOK NUMBER |
International Standard Book Number |
9783662478103 |
Qualifying information |
electronic bk |
020 ## - INTERNATIONAL STANDARD BOOK NUMBER |
Canceled/invalid ISBN |
9783662478097 |
035 ## - SYSTEM CONTROL NUMBER |
System control number |
(OCoLC)930601003 |
035 ## - SYSTEM CONTROL NUMBER |
System control number |
(OCoLC)930601003 |
Canceled/invalid control number |
(OCoLC)931591399 |
040 ## - CATALOGING SOURCE |
Original cataloging agency |
N$T |
Language of cataloging |
eng |
Description conventions |
rda |
-- |
pn |
Transcribing agency |
N$T |
Modifying agency |
N$T |
-- |
YDXCP |
-- |
EBLCP |
050 #4 - LIBRARY OF CONGRESS CALL NUMBER |
Classification number |
QA76.73.C153 |
072 #7 - SUBJECT CATEGORY CODE |
Subject category code |
COM |
Subject category code subdivision |
051070 |
Source |
bisacsh |
082 04 - DEWEY DECIMAL CLASSIFICATION NUMBER |
Classification number |
005.13/3 |
Edition number |
23 |
100 1# - MAIN ENTRY--PERSONAL NAME |
Personal name |
Kormanyos, Christopher, |
Relator term |
author. |
245 10 - TITLE STATEMENT |
Title |
Real-Time C++ : |
Remainder of title |
efficient object-oriented and template microcontroller programming / |
Statement of responsibility, etc. |
Christopher Kormanyos |
250 ## - EDITION STATEMENT |
Edition statement |
2nd edition |
250 ## - EDITION STATEMENT |
Edition statement |
Second edition |
264 #1 - PRODUCTION, PUBLICATION, DISTRIBUTION, MANUFACTURE, AND COPYRIGHT NOTICE |
Place of production, publication, distribution, manufacture |
Heidelberg : |
Name of producer, publisher, distributor, manufacturer |
Springer, |
Date of production, publication, distribution, manufacture, or copyright notice |
2015 |
300 ## - PHYSICAL DESCRIPTION |
Extent |
1 online resource |
336 ## - CONTENT TYPE |
Content type term |
text |
Content type code |
txt |
Source |
rdacontent |
337 ## - MEDIA TYPE |
Media type term |
computer |
Media type code |
c |
Source |
rdamedia |
338 ## - CARRIER TYPE |
Carrier type term |
online resource |
Carrier type code |
cr |
Source |
rdacarrier |
340 ## - PHYSICAL MEDIUM |
Color content |
polychrome |
Source |
rdacc |
Authority record control number or standard number |
http://rdaregistry.info/termList/RDAColourContent/1003 |
504 ## - BIBLIOGRAPHY, ETC. NOTE |
Bibliography, etc. note |
Includes bibliographical references and index |
505 0# - FORMATTED CONTENTS NOTE |
Formatted contents note |
Preface to the Second Edition; Preface to the First Edition; Contents; Acronyms; Part I Language Technologies for Real-Time C++ ; 1 Getting Started with Real-Time C++; 1.1 The LED Program; 1.2 The Syntax of C++; 1.3 Class Types; 1.4 Members; 1.5 Objects and Instances; 1.6 #include; 1.7 Namespaces; 1.8 C++ Standard Library; 1.9 The main() Subroutine; 1.10 Low-Level Register Access; 1.11 Compile-Time Constant; References; 2 Working with a Real-Time C++ Program on a Board; 2.1 The Target Hardware; 2.2 Build and Flash the LED Program; 2.3 Adding Timing for Visible LED Toggling |
505 8# - FORMATTED CONTENTS NOTE |
Formatted contents note |
2.4 Run and Reset the LED Program2.5 Recognizing and Handling Errors and Warnings; 2.6 Reaching the Right Efficiency; References; 3 An Easy Jump-Start in Real-Time C++; 3.1 Declare Locals When Used; 3.2 Fixed-Size Integer Types; 3.3 The bool Type; 3.4 Organization with Namespaces; 3.5 Basic Classes; 3.6 Basic Templates; 3.7 nullptr Replaces NULL; 3.8 Generalized Constant Expressions with constexpr; 3.9 static_assert; 3.10 Using ; 3.11 std::array; 3.12 Basic STL Algorithms; 3.13 ; 3.14 atomic_load() and atomic_store(); 3.15 Digit Separators; 3.16 Binary Literals |
505 8# - FORMATTED CONTENTS NOTE |
Formatted contents note |
3.17 User-Defined LiteralsReference; 4 Object-Oriented Techniques for Microcontrollers; 4.1 Object Oriented Programming; 4.2 Objects and Encapsulation; 4.3 Inheritance; 4.4 Dynamic Polymorphism; 4.5 The Real Overhead of Dynamic Polymorphism; 4.6 Pure Virtual and Abstract; 4.7 Class Relationships; 4.8 Non-Copyable Classes; 4.9 Constant Methods; 4.10 Static Constant Integral Members; 4.11 Class Friends; 4.12 Virtual Is Unavailable in the Base Class Constructor; References; 5 C++ Templates for Microcontrollers; 5.1 Template Functions; 5.2 Template Scalability, Code Re-Use and Efficiency |
505 8# - FORMATTED CONTENTS NOTE |
Formatted contents note |
5.3 Template Member Functions5.4 Template Class Types; 5.5 Template Default Parameters; 5.6 Template Specialization; 5.7 Static Polymorphism; 5.8 Using the STL with Microcontrollers; 5.9 Variadic Templates; 5.10 Template Metaprogramming; 5.11 Tuples and Generic Metaprogramming; 5.12 Variable Templates; References; 6 Optimized C++ Programming for Microcontrollers; 6.1 Use Compiler Optimization Settings; 6.2 Know the Microcontroller's Performance; 6.3 Know an Algorithm's Complexity; 6.4 Use Assembly Listings; 6.5 Use Map Files; 6.6 Understand Name Mangling and De-Mangling |
505 8# - FORMATTED CONTENTS NOTE |
Formatted contents note |
6.7 Know When to Use Assembly and When Not to6.8 Use Comments Sparingly; 6.9 Simplify Code with typedef; 6.10 Use Native Integer Types; 6.11 Use Scaling with Powers of Two; 6.12 Potentially Replace Multiply with Shift-and-Add; 6.13 Consider Advantageous Hardware Dimensioning; 6.14 Consider ROM-Ability; 6.15 Minimize the Interrupt Frame; 6.16 Use Custom Memory Management; 6.17 Use the STL Consistently; 6.18 Use Lambda Expressions; 6.19 Use Templates and Scalability; 6.20 Use Metaprogramming to Unroll Loops; References; Part II Components for Real-Time C++ |
506 ## - RESTRICTIONS ON ACCESS NOTE |
Terms governing access |
Available to OhioLINK libraries |
520 ## - SUMMARY, ETC. |
Summary, etc. |
With this book, Christopher Kormanyos delivers a highly practical guide to programming real-time embedded microcontroller systems in C++. It is divided into three parts plus several appendices. Part I provides a foundation for real-time C++ by covering language technologies, including object-oriented methods, template programming and optimization. Next, part II presents detailed descriptions of a variety of C++ components that are widely used in microcontroller programming. It details some of C++'s most powerful language elements, such as class types, templates and the STL, to develop components for microcontroller register access, low-level drivers, custom memory management, embedded containers, multitasking, etc. Finally, part III describes mathematical methods and generic utilities that can be employed to solve recurring problems in real-time C++. The appendices include a brief C++ language tutorial, information on the real-time C++ development environment and instructions for building GNU GCC cross-compilers and a microcontroller circuit. For this second edition, the most recent specification of C++14 in ISO/IEC 14882:2014 is used throughout the text. Several sections on new C++14 functionality have been added, and various others reworked to reflect changes in the standard. Also two new sample projects are introduced, and various user suggestions have been incorporated. To facilitate portability, no libraries other than those specified in the language standard itself are used. Efficiency is always in focus and numerous examples are backed up with real-time performance measurements and size analyses that quantify the true costs of the code down to the very last byte and microsecond. The target audience of this book mainly consists of students and professionals interested in real-time C++. Readers should be familiar with C or another programming language and will benefit most if they have had some previous experience with microcontroller electronics and the performance and size issues prevalent in embedded systems programming. |
650 #0 - SUBJECT ADDED ENTRY--TOPICAL TERM |
Topical term or geographic name entry element |
C++ (Computer program language) |
Authority record control number or standard number |
http://id.loc.gov/authorities/subjects/sh87007505 |
650 #0 - SUBJECT ADDED ENTRY--TOPICAL TERM |
Topical term or geographic name entry element |
Microcontrollers. |
Authority record control number or standard number |
http://id.loc.gov/authorities/subjects/sh2008020006 |
650 #0 - SUBJECT ADDED ENTRY--TOPICAL TERM |
Topical term or geographic name entry element |
Microprogramming. |
Authority record control number or standard number |
http://id.loc.gov/authorities/subjects/sh85084900 |
655 #0 - INDEX TERM--GENRE/FORM |
Genre/form data or focus term |
Electronic books. |
655 #4 - INDEX TERM--GENRE/FORM |
Genre/form data or focus term |
Electronic books. |
710 2# - ADDED ENTRY--CORPORATE NAME |
Corporate name or jurisdiction name as entry element |
Ohio Library and Information Network. |
Authority record control number or standard number |
http://id.loc.gov/authorities/names/no95058981 |
776 08 - ADDITIONAL PHYSICAL FORM ENTRY |
Relationship information |
Print version: |
Main entry heading |
Kormanyos, Christopher |
Title |
Real-Time C++ : Efficient Object-Oriented and Template Microcontroller Programming |
Place, publisher, and date of publication |
Berlin, Heidelberg : Springer Berlin Heidelberg,c2015 |
International Standard Book Number |
9783662478097 |
856 ## - ELECTRONIC LOCATION AND ACCESS |
Uniform Resource Identifier |
<a href="https://drive.google.com/file/d/1eLgsnSXVg7LETeK0auFTurmp47E-PS9Y/view?usp=sharing">https://drive.google.com/file/d/1eLgsnSXVg7LETeK0auFTurmp47E-PS9Y/view?usp=sharing</a> |