C++20 STL Features: 1 Year of Development on GitHubVersion 1.0 - September 15, 2020 1 C++20 STL Features: 1 Year of Development on GitHub Stephan T. Lavavej "Steh-fin Lah-wah-wade" Principal Software Engineer, Visual C++ Libraries stl@microsoft.com @StephanTLavavej2 atomic operations only when necessary • Distinct non-conflicting and conflicting parts • Layout compatibility; works with T within C structs • Near-identical interface • Encapsulates platform/architecture-specific Developer Community, Azure Boards, todos • GH-713 boyer_moore_searcher • vNext issues affect binary compatibility • Will start vNext after finishing C++2031 cxx20 Issues32 Pull Requests • GH-724 Fix boyer_moore_searcher0 码力 | 45 页 | 702.09 KB | 6 月前3
whats new in visual studioPreview 5 Preview 6 Version 16.8 Preview 1 Preview 2 Preview 3 Preview 4 Preview 5 Version 16.9 Preview 1 Preview 2 Preview 3 Preview 4 Version 16.10 Preview 1 Preview 2 Preview 3 Version 16.11 CppCon directly from Visual Studio 2022 Step #3: Compile your code with the latest compiler 💡 Binary compatibility between the VS2022 and previous C++ runtimes (VS 2019, VS 2017, VS 2015) Step #4: Compile your development 4. Developer and Team Productivity At CppCon last year Announcing In Visual Studio 2019 version 16.11, C++20 is now feature complete • All features under /std:c++20 switch are production ready0 码力 | 42 页 | 19.02 MB | 6 月前3
hazard pointer synchronous reclamationReclamation Beyond Concurrency TS2 – Maged Michael // Extend hazard_pointer_obj_base (subject to ABI-compatibility) class hazard_pointer_obj_base { public: void set_cohort(hazard_pointer_cohort* cohort) noexcept; com/facebook/folly under folly/synchronization/Hazptr.h Working Draft, Extensions to C++ for Concurrency Version 2 (wg21.link/n4895). Hazard Pointers: Safe Memory Reclamation for Lock-Free Objects, IEEE Transactions Hazard Pointers – Maged Michael Watch CPPCON 2021 Talk on Concurrency TS2 The Upcoming Concurrency TS Version 2 for Low-Latency and Lockless Synchronization (with Paul McKenney and Michael Wong)0 码力 | 31 页 | 856.38 KB | 6 月前3
使用硬件加速Tokio - 戴翔currently provides only the bare essentials for writing async code. Rust has very strict backward compatibility requirements, , and they haven't chosen to lock- in a specific runtime. Why need Tokio? Rust0 码力 | 17 页 | 1.66 MB | 1 年前3
Analyzing MySQL Logs with ClickHouseScalability to 100s of nodes High Performance © 2018 Percona. 8 MySQL Wire Protocol Compatibility with ProxySQL Extra Bonus © 2018 Percona. 9 Logs to ClickHouse © 2018 Percona. 10 Several0 码力 | 43 页 | 2.70 MB | 1 年前3
基于Rust-vmm实现Kubernetes运行时Kata-container BareMetal Only Heavy control logic Application kernel based Sandbox gVisor Compatibility problem, Bottleneck in sentry mVMd + QEMU + eklet is what we need to implement Elastic Kubernetes0 码力 | 27 页 | 34.17 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南ake/ project 的初始化: VERSION 字段 • project( 项目名 VERSION x.y.z) 可以把当前项目的版本号设定为 x.y.z 。 • 之后可以通过 PROJECT_VERSION 来获取当前项目的版本号。 • PROJECT_VERSION_MAJOR 获取 x (主版本号)。 • PROJECT_VERSION_MINOR 获取 y (次版本号)。 • PROJECT_VERSION_PATCH 获取 z (补丁版本号)。 一些没什么用,但 CMake 官方不知为何就是提供了的项目字段…… 项目名的另一大作用:会设置另外 < 项目名 >_SOURCE_DIR 等变量 小技巧: CMake 的 ${} 表达式可以嵌套 因为 ${PROJECT_NAME} 求值的结果是 hellocmake 所以 ${${PROJECT_NAME}_VERSION} ${hellocmake_VERSION} 进一步求值的结果也就是刚刚指定的 0.2.3 了。 cmake_minimum_required 指定最低所需的 CMake 版本 假如你写的 CMakeLists.txt 包含了 3.15 版本才有的特性, 如果用户在老版本上使用,就会出现各种奇怪的错误。 因此最好在第一行加个 cmake_minimum_required(VERSION 3.15) 表示本0 码力 | 166 页 | 6.54 MB | 1 年前3
C++20: An (Almost) Complete Overview [[likely]] and [[unlikely]] Calendars & Timezones std::span Feature Test Macros <version> Immediate Functions – consteval constinit Class Enums and using Directive Text Formatting all C++ headers are “importable”, e.g. import <version>; Everything in <version> is exported, including macros Improves build throughput; <version> will be processed only once Comparable to precompiled optional_is_experimental 1 #endif #endif70 <version> Supplies implementation-dependent information about the C++ Standard Library you are using Example: Version number Release date Copyright notice0 码力 | 85 页 | 512.18 KB | 6 月前3
C++高性能并行编程与优化 - 课件 - 16 现代 CMake 模块化项目管理指南依赖项配置 用 find_package 寻找系统中安装的第三方库并链接他们 find_package 命令 • 常用参数列表一览: • find_package([version] [EXACT] [QUIET] [CONFIG] [MODULE] • [REQUIRED] [[COMPONENTS] [components...]] • (${XXX_VERSION} VERSION_LESS 3.1.0) 判断大小。 https://cmake.org/cmake/help/latest/command/if.html find_package 命令指定版本 • find_package(OpenCV REQUIRED) • 查找名为 OpenCV 的包,不限版本,事后可以通过 ${OpenCV_VERSION} 查询找到的版本。 find_package(OpenCV 2.0.1 REQUIRED) • 查找版本在 2.0.1 以上的 OpenCV 包( version >= 2.0.1 )。 • find_package(OpenCV 2.0.1 EXACT REQUIRED) • 查找版本刚好为 2.0.1 的 OpenCV 包( version == 2.0.1 )。 • 如果没写全,则没写的部分默认为 0 。例如下列三者等价: • find_package(OpenCV 0 码力 | 56 页 | 6.87 MB | 1 年前3
Spreadsheet Analysis using Atlassian ToolsGIT is a version control system that is used for software development and other version control tasks. As a distributed revision control system it is aimed at speed, data integrity, and support for0 码力 | 1 页 | 120.37 KB | 6 月前3
共 16 条
- 1
- 2













