Working with Asynchrony Generically: A Tour of C++ Executors
// Type-erased receiver waiting for a keyclick: struct pending_completion { virtual void complete(char) = 0; virtual ~pending_completion() {} }; // Global registration of next completion: std::a 3: Model Ctrl-C as a sender103 struct ctrl_c_handler { struct pending { virtual void complete() = 0; virtual ~pending() {} }; static inline std::atomicpending_{nullptr}; static pending_completion { virtual void complete(char) = 0; virtual ~pending_completion() {} }; struct pending_completion { virtual void complete(char) = 0; virtual void cancel() = 0; virtual ~pending_completion() 0 码力 | 121 页 | 7.73 MB | 5 月前3基于Rust-vmm实现Kubernetes运行时
love Rust-VMM? Rust-VMM is an open-source project that empowers the community to build custom Virtual Machine Monitors (VMMs) and hypervisors. It abstracts the common virtualization components which and safety, especially safe concurrency. empty • vmm-vcpu: a hypervisor-agnostic abstraction for Virtual CPUs (vCPUs). rust-vmm • event-manager: abstractions for implementing event based systems. • linux-loader: FFI bindings to virtio kernel headers generated using bindgen. • vm-memory: abstractions over a virtual machine's memory. • vmm-sys-util: collection of modules providing helpers and utilities for building0 码力 | 27 页 | 34.17 MB | 1 年前3Secure your microservices with istio step by step
productpage-credential 3) Define a gateway which specifying above secret and define corresponding virtual service which configuring traffic routes Secure ingress gateway via TLS terminating Using ingress productpage-credential 3) Define a gateway which specifying above secret and define corresponding virtual service which configuring traffic routes Secure ingress gateway via TLS terminating https http terminate TLS in gateway using istio cert ● PASSTHROUGH: pass through the TLS traffic using SNI and virtual Service ● AUTO_PASSTHROUGH: pass through the TLS traffic purely using SNI without VS apiVersion:0 码力 | 34 页 | 67.93 MB | 1 年前3C++20: An (Almost) Complete Overview
Capture Templated Lambda Expressions Pack Expansion in Lambda Captures constexpr Changes virtual functions union, try/catch, dynamic_cast, typeid allocations constexpr string & vector args...); }; } Allowed in C++20 // ✔ well- formed:constexpr Changes32 constexpr constexpr virtual functions constexpr functions can now: use dynamic_cast() and typeid do dynamic memory allocations Capture Templated Lambda Expressions Pack Expansion in Lambda Captures constexpr Changes virtual functions union, try/catch, dynamic_cast, typeid allocations constexpr string & vector0 码力 | 85 页 | 512.18 KB | 5 月前3Making Libraries Consumable for Non-C++ Developers
*/ data_t get_data_from(size_t dev); class dev_t { public: /* Get data from this device. */ virtual data_t get_data_from() = 0; }; Assuming callee cleanup and focusing on data_t, is its return location0 码力 | 29 页 | 1.21 MB | 5 月前3THE FIRST EXPLORATION OF PROJECT SPARROW
html 1.5 Renode Overview I. Background https://renode.io/ Antmicro's virtual development framework for complex embedded systems. https://github.com/lowrisc I0 码力 | 68 页 | 13.14 MB | 1 年前3C++20 STL Features: 1 Year of Development on GitHub
for associative • Avoids potential confusion41 Continuous Integration • Scripts prepare Azure Virtual Machine Scale Sets • Currently up to 12 VMs, each with 16 cores • VMs install VS (with Clang, CMake0 码力 | 45 页 | 702.09 KB | 5 月前3C++高性能并行编程与优化 - 课件 - 性能优化之无分支编程 Branchless Programming
(*func)(int x); 则对他的调用 (*func)(42); 会得到: • mov edi, 42 • call [func] 热知识: C++ 的虚函数就是函数指针 • 通过 virtual 关键字给类定义一个虚函数,他其实就是在类成员里加了一个函数指针。 • 而在构造函数里,会把当前类重载过的虚函数,赋予给那个函数指针,实现多态。 • 虚函数是 C++ 的语法糖,纯 C 的 Linux0 码力 | 47 页 | 8.45 MB | 1 年前3C++高性能并行编程与优化 - 课件 - 16 现代 CMake 模块化项目管理指南
set(key val PARENT_SCOPE) 才能修改到外面的变量。 第二章:第三方库 / 依赖项配置 用 find_package 寻找系统中安装的第三方库并链接他们 find_package 命令 • 常用参数列表一览: • find_package([version] [EXACT] [QUIET] [CONFIG] [MODULE] • nd_package.html find_package 命令用法举例 • find_package(OpenCV) • 查找名为 OpenCV 的包,找不到不报错,事后可以通过 ${OpenCV_FOUND} 查询是否找到。 • find_package(OpenCV QUIET) • 查找名为 OpenCV 的包,找不到不报错,也不打印任何信息。 • find_package(OpenCV cmake 进程,不再继续往下执行)。 • find_package(OpenCV REQUIRED COMPONENTS core videoio) • 查找名为 OpenCV 的包,找不到就报错,且必须具有 OpenCV::core 和 OpenCV::videoio 这 两个组件,如果没有这两个组件也会报错。 • find_package(OpenCV REQUIRED OPTIONAL_COMPONENTS 0 码力 | 56 页 | 6.87 MB | 1 年前3C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南
怎么路径里动不动夹杂几个转移符、空格、特殊符号?这谁顶得住啊 。 高情商: Windows 是最适合练习你 C 语言转移符使用水平的地方 。 更通用的方式: find_package 更好的做法是用 CMake 的 find_package 命令。 find_package(TBB REQUIRED) 会查找 /usr/lib/cmake/TBB/TBBConfig.cmake 这个配置文 件,并根据里面的配置信息创建时候是纯头文件,而 find_package(spdlog REQUIRED) 时却 变成预编译链接库的版本。(嗯,其实不是 PUBLIC 而是 INTERFACE ,因为伪对象没有实体) 和古代 CMake 做对比:为什么 PUBLIC 属性的传播机制如此便利 现代 CMake : 古代 CMake : 和 find_package(TBB CONFIG REQUIRED) REQUIRED) 有什么区别? 其实更好的是通过 find_package(TBB CONFIG REQUIRED) ,添加了一个 CONFIG 选项。 这样他会优先查找 TBBConfig.cmake (系统自带的)而不是 FindTBB.cmake (项目作者常 把他塞在 cmake/ 目录里并添加到 CMAKE_MODULE_PATH )。这样能保证寻找包的这个 .cmake 脚本是和系统自带的 tbb 0 码力 | 166 页 | 6.54 MB | 1 年前3
共 17 条
- 1
- 2