Back to Basics: The structure of a Programbuilding a program • What a translation unit (TU) is, and its relationship to the code you write • The phases of translation • Declarations, definitions, and linkage • The one-definition rule (ODR) • Storage translation is performed upon a translation unit (TU) in nine well- defined stages • Evocatively named Phases 1 through 9 • A translation unit is defined (roughly) as • A source file, • Plus with all the CppCon 2020 - The Structure of a Program 20Copyright © 2020 Bob Steagall K E W B C O M P U T I N G Phases of Translation 21 CppCon 2020 - The Structure of a Program Phase 1 Phase 2 Phase 3 Phase 40 码力 | 64 页 | 390.34 KB | 6 月前3
Back to Basics: Templates - Part 1Bob Steagall Translation Units • In C++, translation is performed in nine well-defined stages • Phases 1 through 6 perform lexical analysis • These are what we usually refer to as pre-processing • The 26CppCon 2021 – Back to Basics: Templates – Part 1 Copyright © 2021 Bob Steagall Translation Units • Phases 7 and 8 perform syntax analysis, semantic analysis, and codegen • These are what we usually refer execution environment 27CppCon 2021 – Back to Basics: Templates – Part 1 Copyright © 2021 Bob Steagall Phases of Translation (6) – a Sample TU For Fun • Compilers provide a way to inspect TU contents (or something0 码力 | 68 页 | 436.75 KB | 6 月前3
Back to Basics: Templates Part 2Steagall Recap: Translation Units • In C++, translation is performed in nine well-defined stages • Phases 1 through 6 perform lexical analysis (the pre-processor) • The output of Phase 6 is a translation Templates – Part 2 Copyright © 2021 Bob Steagall Two-Phase Translation • Templates are processed in two phases • At the site of its definition, a template is checked for correctness, ignoring template parameters Templates – Part 2 Copyright © 2021 Bob Steagall Two-Phase Translation • Templates are processed in two phases • At the site of its definition, a template is checked for correctness, ignoring template parameters0 码力 | 80 页 | 490.15 KB | 6 月前3
Remote Execution Caching Compiler (RECC)○ 80% cache hit rate on cacheable compiles ● Shared cache across developer builds ● Used in all phases of the Software Development Lifecycle (SDLC) ● Distributed remote compilation and linking ● Builds0 码力 | 6 页 | 2.03 MB | 6 月前3
Making Games Start Fast: A Story About Concurrency_Textures.Add( Load( Filename ) ); } 56Removing Bottleneck ◉ Split sprite initialization in three phases ○ Each sprite declares which textures it needs ○ Load all requested textures ○ Bind loaded textures0 码力 | 76 页 | 2.22 MB | 6 月前3
cppcon 2021 safety guidelines for C parallel and concurrencyparallel algorithm, executors, • Aim for next release of MISRA NEXT+ CG NEXT • Continue with more phases and more releases C++ Will need to integrate safety with ML From sequential->concurrency • 262620 码力 | 52 页 | 3.14 MB | 6 月前3
Combining Co-Routines and Functions into a Job SystemCppCon 2021 38 / 39 Conclusions • Vienna Game Job System (VGJS) • Thread Pool only, tagged jobs for phases • Combines coroutines with normal functions • Coroutines can return results • Functions can interact0 码力 | 39 页 | 1.23 MB | 6 月前3
Practical memory pool based allocators for Modern C++in the project, then memory shall only be allocated and deallocated during non-realtime program phases © 2020 Apex.AI, Inc.Memory pool ● Memory pools with fixed block sizes is a solution which addresses0 码力 | 49 页 | 986.95 KB | 6 月前3
Peering Forward: C++'s Next DecadeMaking possible things that are infeasible today (e.g., generative programming) Expect multiple phases… the first phase is “now in sight”67 “All information in the source code must be reflectable”0 码力 | 84 页 | 6.21 MB | 6 月前3
C++20: An (Almost) Complete Overviewinstance is single-use43 The C++20 Synchronization Library Barriers A sequence of phases In each phase a number of threads block until the requested number of threads arrive at the 0 码力 | 85 页 | 512.18 KB | 6 月前3
共 11 条
- 1
- 2
相关搜索词
BacktoBasicsThestructureofProgramTemplatesPartRemoteExecutionCachingCompilerRECCMakingGamesStartFastStoryAboutConcurrencycppcon2021safetyguidelinesforparallelandconcurrencyCombiningCoRoutinesFunctionsintoJobSystemPracticalmemorypoolbasedallocatorsModernC++PeeringForwardNextDecade20AnAlmostCompleteOverview













