Implementing Reflection Using the New C++20 Tooling Opportunity: Modules
• Precompile + LibClang pass • Manually put in source C++ compilation process• “Modules are a tooling opportunity” - Gabriel dos Reis • Fast! Work already happened 2 4 What happens with modules?20 码力 | 53 页 | 1.43 MB | 5 月前32021-11-22 - Rust CTCFT - Rust for Linux
hope this talk results in the improvement of Rust for everyone! Introduction Language Library Tooling Nightly features A general priority is to stabilize them (or to find alternatives): https://github RUSTC_BOOTSTRAP. The rest of this talk focuses on things that are not in nightly. Language Library Tooling Nightly features cfg(no_fp_fmt_parse) cfg(no_global_oom_handling) cfg(no_rc) cfg(no_sync) feature(global_asm) feature(ptr_metadata) feature(receiver_trait) feature(unsize) Language Library Tooling Pinning: init workaround example implMutex { /// Constructs a new mutex. /// 0 码力 | 53 页 | 332.50 KB | 9 月前3Things Happening in SG14
Deterministic Behavior • Attributes • Move Semantics • Handling Disappointment • Pattern Matching • Tooling and Ease-of-Coding • Networking • Parallel and Concurrent Computing • Logging and I/O • Numeric Computing Deterministic Behavior • Attributes • Move Semantics • Handling Disappointment • Pattern Matching • Tooling and Ease-of-Coding • Networking • Parallel and Concurrent Computing • Logging and I/O • Numeric Computing community • Willingness to offer guidance when there are competing proposals 107Tooling and ease-of-coding 108P2966 requests: tooling and ease-of-coding • nameof operator • See the nameof operator in C# for0 码力 | 148 页 | 1009.97 KB | 5 月前3Building Safe and Reliable Surgical Robotics with C++
usage be safe? Mitigate Safety and Security Vulnerabilities What can we do then? 24 Explore Tooling Processes Architecture CultureArchitecture 25Control and reduce risk Risk Driven Architecture strict and non-negotiable • e.g., Control Systems, Vision •BareMetal, Embedded, RTOSProcesses & Tooling 28Coding Standards 29 Coding standards are a key part of software acceptance criteria: IEC 62304 New features, Security++, Bug fixes, Stability and optimizations, A safer C++ version, Enhanced tooling, Compliance and possibly being safety certified (3rd party vendors), ... ❖ What can help: ➢ Modular0 码力 | 71 页 | 4.02 MB | 5 月前3Beyond Compilation Databases to Support C++ Modules: Build Databases
17Tomorrow: Build Databases ● Still JSON ○ Simple format ○ Parsers are widely available ○ Mainly tooling-oriented (humans are unlikely to write these files) ● ISO C++ paper: https://wg21.link/P2977R1 (needs 3.30, only done for IMPORTED targets) ● Using “visible sets”, the target graph can be known by tooling 22Build Databases: Translation Units ● This is where existing compile database entries start showing Consumers do not need include paths for zlib.h 24Build Databases: Current Status ● ISO ○ SG15 Tooling subgroup ○ Targeting the Ecosystem IS (https://wg21.link/P2656 “C++ Ecosystem International Standard”0 码力 | 31 页 | 585.05 KB | 5 月前3Libraries: A First Step Toward Standard C++ Dependency Management
https://mathstuf.fedorapeople.org/flag-soup/flag-soup.html ● P2800 ● Ben Boeckel ○ Kitware ○ ISO C++ Tooling Study Group ● 2023-09-20More: Bloomberg on Packaging 26 “Lessons Learned from Packaging 10,000+ Packaging Specification (CPS) ● Proposed by Kitware’s Matthew Woehlke ● Presented to ISO C++ Tooling Study Group ○ https://wg21.link/p1313 27Momentum: Postmodern (?) CMake ● CMake support ⇒ trivial developers ○ Toolchain and OS vendors ○ You? ● Share and confirm consensus via public ISO C++ Tooling Study Group (SG15) papersCPS plans 77 ● Continue with MVP in CMake ○ C++20 modules support ○0 码力 | 82 页 | 4.21 MB | 5 月前3The Most Important Design Guideline is Testability
Review •Automated Tooling - part of CI106 How can we test it? •Reuse an existing "value" for completely different functionality •Um... Don't do that. •Code Review •Automated Tooling - part of CI107 Review •Automated Tooling - part of CI110 How can we test it? •Reuse an existing "value" for completely different functionality •Um... Don't do that. •Code Review •Automated Tooling - part of CI1110 码力 | 126 页 | 9.11 MB | 5 月前3C++ in the Developing World, Why it Matters
of “real world” software that has already been written in the language. • It will also touch on tooling and resources for programming on resource constrained systems. Definitions C++ • What is C++? with these: • expression • statement • variable • object • Declaration • Definition • Function Tooling Tips For older or Constrained Computing Scenarios • To be able to boost interactivity with the Older, Cheaper Hardware to make computing more accessible to more people in more places. 7• Older Tooling and Software such as the Terminal that would be considered by some to be obsolete can, when applied0 码力 | 8 页 | 177.52 KB | 5 月前3Common Package Specification: Getting Build Tools to Talk to Each Other
the consumer - Abuse as source management to be avoided - ODRs violations not checkeable by tooling 51 "srcdirs": ["mysrc"], # or "sources": ["file.h", "file.cpp", …],Objects - No build system submodules) - Build system agnostic - Usage up to the consumer - ODRs violations not checkeable by tooling 52 "objdirs": ["mysrc"], # or "objects": ["file.obj", …],Outline - Definition and scope - Implementation steps - Resume work on this - Collaborate with CPS, Brett, Bill to mature proposal for ISO C++ (tooling) - Continue evolving implementation in Conan 2.0 - Move from Python ``package_info()`` => cps (poc)0 码力 | 94 页 | 1.58 MB | 5 月前3Khronos APIs for Heterogeneous Compute and Safety: SYCL and SYCL SC
safety-critical markets Leveraging proven mainstream standards with shipping implementations and developer tooling and familiarity A choice of abstraction levels to suit different markets and developer needs OpenVX write & use tooling to detect this kind of bug ▪ Everything else is defined behavior ▪ Code dependent on defined behavior may also be a bug ▪ Hard to write & use (no-false-positive) tooling to detect0 码力 | 82 页 | 3.35 MB | 5 月前3
共 66 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
相关搜索词
ImplementingReflectionUsingtheNewC++20ToolingOpportunityModules20211122RustCTCFTforLinuxThingsHappeninginSG14BuildingSafeandReliableSurgicalRoboticswithBeyondCompilationDatabasestoSupportBuildLibrariesFirstStepTowardStandardDependencyManagementTheMostImportantDesignGuidelineisTestabilityDevelopingWorldWhyitMattersCommonPackageSpecificationGettingToolsTalkEachOtherKhronosAPIsHeterogeneousComputeSafetySYCLSC