Back to Basics: The structure of a Program
Back 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 | 5 月前3Structure and Interpretation of Computer Programs
0 码力 | 136 页 | 7.35 MB | 5 月前3jsc::chunk_evenly Range Adaptor for Distributing Work Across Tasks
LIALBIC index 3456789140 1 12 chunk size =5 1121s1aslsl7lsls none is Suitable to distribute work across taskSs chunk count = 5 @xe9 昌 xxe9 回回 回回日回 chunk size =5 remainder chunk_size -= std::ptrdiff_t { chunk_index == remainder ]}; 了] 了 y 一Range adaptorfor dlstributing work across tasks (CZ) ASM comparison > GCC RISC-V 64-bit assembly manual_loop(long,long): introduces unnecessary waiting > Iftasks are scheduled as early as possible, then distributin8g work evenly across tasks can improve performance (O) Future Directions > Support random access in jsc:0 码力 | 1 页 | 1.38 MB | 5 月前3Back to Basics Testing
enough feedback (breakdown of expr?)pros: no dependencies some useful output (file, line, expr…) natural, familiar, syntax and usage cons: not enough feedback (breakdown of expr?) only (file, line, expr…) natural, familiar, syntax and usage cons: not enough feedback (breakdown of expr?) only console output no test names, groups/ suites pros: no dependencies some (file, line, expr…) natural, familiar, syntax and usage cons: not enough feedback (breakdown of expr?) only console output no test names, groups/ suites aborts on first failuresTest 84 0 码力 | 79 页 | 25.86 MB | 5 月前3Making Games Start Fast: A Story About Concurrency
Stellaris 2.8 beta starts in 21s ◉ Same amount of work ◉ Both rely on multithreading 112.7 (Old) Startup CPU Usage2.8 (New) Startup CPU UsageStartup Breakdown ◉ Enumerate asset files ◉ Read localization0 码力 | 76 页 | 2.22 MB | 5 月前3Behavioral Modeling in HW/SW Co-design Using C++ Coroutines
on a new HW peripheral that is in development. • Timelines are tight and you want to be able to work on the SW that interacts with this HW early – so-called “shift left” • You could: • Wait for RTL Department or Event Name 12 © 2023 Intel Corporation and Jeffrey E. Erickson cppcon 2023 12 Syntactic breakdown • It looks like a function but it’s not • You’re providing a callable-like definition of a coroutine0 码力 | 44 页 | 584.69 KB | 5 月前3Conan 2.0 Documentation
for package storage, and so it allows you to fully create and test packages offline. You can also work offline as long as no new packages are needed from remote servers. • JFrog Artifactory Community (Ubuntu, Debian, RedHat, ArchLinux, Raspbian), OSX, FreeBSD, and SunOS, and, as it is portable, it might work in any other platform that can run Python. It can target any existing platform: ranging from bare guide , to start preparing your package recipes to 2.0 and be aware of some changes while you still work in Conan 1.X. That guide summarizes the above mentioned backports to make the upgrade easier. 2.20 码力 | 652 页 | 4.00 MB | 1 年前3Conan 2.1 Documentation
for package storage, and so it allows you to fully create and test packages offline. You can also work offline as long as no new packages are needed from remote servers. • JFrog Artifactory Community (Ubuntu, Debian, RedHat, ArchLinux, Raspbian), OSX, FreeBSD, and SunOS, and, as it is portable, it might work in any other platform that can run Python. It can target any existing platform: ranging from bare guide , to start preparing your package recipes to 2.0 and be aware of some changes while you still work in Conan 1.X. That guide summarizes the above mentioned backports to make the upgrade easier. 2.20 码力 | 694 页 | 4.13 MB | 1 年前3Conan 2.5 Documentation
for package storage, and so it allows you to fully create and test packages offline. You can also work offline as long as no new packages are needed from remote servers. • JFrog Artifactory Community (Ubuntu, Debian, RedHat, ArchLinux, Raspbian), OSX, FreeBSD, and SunOS, and, as it is portable, it might work in any other platform that can run Python. It can target any existing platform: ranging from bare guide , to start preparing your package recipes to 2.0 and be aware of some changes while you still work in Conan 1.X. That guide summarizes the above mentioned backports to make the upgrade easier. 2.20 码力 | 769 页 | 4.70 MB | 1 年前3Conan 2.4 Documentation
for package storage, and so it allows you to fully create and test packages offline. You can also work offline as long as no new packages are needed from remote servers. • JFrog Artifactory Community (Ubuntu, Debian, RedHat, ArchLinux, Raspbian), OSX, FreeBSD, and SunOS, and, as it is portable, it might work in any other platform that can run Python. It can target any existing platform: ranging from bare guide , to start preparing your package recipes to 2.0 and be aware of some changes while you still work in Conan 1.X. That guide summarizes the above mentioned backports to make the upgrade easier. 2.20 码力 | 769 页 | 4.69 MB | 1 年前3
共 311 条
- 1
- 2
- 3
- 4
- 5
- 6
- 32