Back to Basics: The structure of a ProgramBack to Basics: The Structure of a Program Bob Steagall CppCon 2020 K E W B C O M P U T I N GCopyright © 2020 Bob Steagall K E W B C O M P U T I N G Overview • The process of building a program • What rule (ODR) • Storage duration • ABIs and name-mangling • Linking and loading CppCon 2020 - The Structure of a Program 2Copyright © 2020 Bob Steagall K E W B C O M P U T I N G Goals • Describe a few important CppCon 2020 - The Structure of a Program 3Copyright © 2020 Bob Steagall K E W B C O M P U T I N G Building and Running a C++ Program • 50,000 ft view CppCon 2020 - The Structure of a Program 4 Input0 码力 | 64 页 | 390.34 KB | 6 月前3
Structure and Interpretation of Computer Programs0 码力 | 136 页 | 7.35 MB | 6 月前3
Class Layoutsizeof(Class Object) sizeof applied to the HR class yields the same result as sizeof applied to this structure: enum { HR_max = 16383 }; extern size_t HR_num_dispatched; struct HR_type { Employee *emps[HR_max]; enumeration nested inside a C structure. However, C doesn’t consider nested enumeration types and constants to be members of the structure. They have the same scope as the structure name. Storage for static and Daniel Saks 22 23Class Layout Copyright © 2020 by Stephen C. Dewhurst and Daniel Saks 10 Lexical vs. Physical Ordering Note that language constructs that enforce an ordering on members are defined0 码力 | 51 页 | 461.37 KB | 6 月前3
The Roles of Symmetry And Orthogonality In DesignOrthogonality In Design cppcon 2021 •Q: What Does “Design” Provide? •A: We “Know”: How the structure and behavior achieves a desired resultCharley Bay - charleyb123 at gmail dot com The Roles of Symmetry Orthogonality In Design cppcon 2021 •Q: What Does “Design” Provide? •A: We “Know”: How the structure and behavior achieves a desired result Is “obvious” or “clear” Our “First” or “Best Guess” to Stack-based (automatic) data objects • Is symmetry to define state based on control-flow (static lexical scoping) • Edge cases managed by the C++ Standard (Guaranteed!) “The compiler giveth, and the0 码力 | 151 页 | 3.20 MB | 6 月前3
Python 标准库参考指南 2.7.18 —支持面向行的命令解释器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1041 23.2 shlex —Simple lexical analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1043 24 Tk 图形用户界面 any random byte sequence. However that’s not possible with UTF-8, as UTF-8 byte sequences have a structure that doesn’t allow arbitrary byte sequences. To increase the reliability with which 126 Chapter Removing the entry or changing its priority is more difficult because it would break the heap structure invariants. So, a possible solution is to mark the existing entry as removed and add a new entry0 码力 | 1552 页 | 7.42 MB | 10 月前3
Python 标准库参考指南 2.7.18 —支持面向行的命令解释器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1041 23.2 shlex —Simple lexical analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1043 24 Tk 图形用户界面 any random byte sequence. However that’s not possible with UTF-8, as UTF-8 byte sequences have a structure that doesn’t allow arbitrary byte sequences. To increase the reliability with which 126 Chapter Removing the entry or changing its priority is more difficult because it would break the heap structure invariants. So, a possible solution is to mark the existing entry as removed and add a new entry0 码力 | 1552 页 | 7.42 MB | 10 月前3
Python 标准库参考指南 2.7.18 —支持面向行的命令解释器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1041 23.2 shlex —Simple lexical analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1043 24 Tk 图形用户界面 any random byte sequence. However that’s not possible with UTF-8, as UTF-8 byte sequences have a structure that doesn’t allow arbitrary byte sequences. To increase the reliability with which 126 Chapter Removing the entry or changing its priority is more difficult because it would break the heap structure invariants. So, a possible solution is to mark the existing entry as removed and add a new entry0 码力 | 1552 页 | 7.42 MB | 10 月前3
Julia 1.12.0 RC1. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1652 82 Logging 1654 82.1 Log event structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1655 82.2 Processing log will be calculated and returned.CHAPTER 9. FUNCTIONS 79 9.7 Tuples Julia has a built-in data structure called a tuple that is closely related to function arguments and return values. A tuple is a fixed-length once. For example, in the call plot(x, y; options..., width=2) it is possible that the options structure also contains a value for width. In such a case the rightmost occurrence takes precedence; in this0 码力 | 2057 页 | 7.44 MB | 3 月前3
julia 1.13.0 DEV. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1654 82 Logging 1656 82.1 Log event structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1657 82.2 Processing log will be calculated and returned.CHAPTER 9. FUNCTIONS 79 9.7 Tuples Julia has a built-in data structure called a tuple that is closely related to function arguments and return values. A tuple is a fixed-length once. For example, in the call plot(x, y; options..., width=2) it is possible that the options structure also contains a value for width. In such a case the rightmost occurrence takes precedence; in this0 码力 | 2058 页 | 7.45 MB | 3 月前3
Julia 1.12.0 Beta4. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1651 82 Logging 1653 82.1 Log event structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1654 82.2 Processing log will be calculated and returned.CHAPTER 9. FUNCTIONS 79 9.7 Tuples Julia has a built-in data structure called a tuple that is closely related to function arguments and return values. A tuple is a fixed-length once. For example, in the call plot(x, y; options..., width=2) it is possible that the options structure also contains a value for width. In such a case the rightmost occurrence takes precedence; in this0 码力 | 2057 页 | 7.44 MB | 3 月前3
共 249 条
- 1
- 2
- 3
- 4
- 5
- 6
- 25













