C++23: An Overview of Almost All New and Updated Features
Quick Reference Founder of the Belgian C++ Users Group (BeCPP) C++204 Agenda C++23 Core Language Explicit Object Parameters if consteval Multidimensional Subscript Operator Attributes Attributes on Lambda-Expressions Literal Suffix for size_t auto(x): decay-copy in The Language #elifdef, #elifndef, and #warning Marking Unreachable Code Assumptions Named Universal Character Heterogeneous Erasure Removed Features Garbage Collection SupportC++23 Core Language6 Agenda C++23 Core Language Explicit Object Parameters if consteval Multidimensional Subscript Operator0 码力 | 105 页 | 759.96 KB | 5 月前3C++20's
tai_clock • gps_clock • (file_clock)22 Why have all these different clocks? Clock Epoch General Description Tracks leap seconds? system_cloc k Jan 1, 1970 00:00:00 Tracks UTC or GMT* time. No utc_clock Community by Daniel Havey35 Part V: Time Zones36 Time Zones ([time.zone]) • chrono now includes an interface for accessing the IANA time zone database. • This functionality requires several new types to Calendars and Time Zones in MSVC – Miya Natsuhara • An Editor Can Do That? Debugging Assembly Language and GPU Kernels in Visual Studio Code – Julia Reid • Why does std::format do that? – Charlie Barto0 码力 | 55 页 | 8.67 MB | 5 月前3陈东 - 利用Rust重塑移动应用开发-230618
as embedded devices, IOS, Android, etc. It is an inevitable choice for our business to choose a language that can support multiple platforms. Share Logic 利用 Rust 重塑移动应用开发 Keystone App is a mobile application 2); Photo / image / chart Rust FFI Rust FFI (Foreign Function Interface) refers to the ability of Rust programming language to interface with code written in other languages, typically C or C++. FFI code libraries written in those languages. - JNI JNI is an interface that allows Java to interact with code written in another language. Motivation for JNI is code reusability and performance. WIth0 码力 | 22 页 | 2.10 MB | 1 年前3Making Libraries Consumable for Non-C++ Developers
interoperability? Don’t touch it! Glue code? Boiler plate? A nightmare? Application binary interface (ABI) Calling conventions Marshalling Was I supposed to free that? Was I not supposed to free free that? Enabling two or more disparate entities to work together.Why interoperability? No language or platform is good for everything. Fast inner loop Makes UX easy Has tooling for workload High Common Object Model (COM) – 1993 Foreign function interface (libffi) – 1996 Simplified Wrapper and Interface Generator (SWIG) – 1996 JVM – Java Native Interface (JNI) – 1997 .NET – Platform Invoke (P/Invoke)0 码力 | 29 页 | 1.21 MB | 5 月前3C++20: An (Almost) Complete Overview
explicitly state what should be exported (e.g. classes, functions, …) Separation into module interface files and module implementation files is possible but not needed Can be structured with submodules Order of module imports is not important8 Modules Create a module: // cppcon.cppm – Module Interface File export module cppcon; // Module declaration namespace CppCon { auto GetWelcomeHelper() { Asynchronous I/O Lazy computations Event driven applications17 Coroutines C++20 contains language additions to support coroutines Standard Library does not yet include helper classes such as0 码力 | 85 页 | 512.18 KB | 5 月前3C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南
C 语言 解决:改成 project( 项目名 LANGUAGES C CXX) 即可 也可以先设置 LANGUAGES NONE ,之后再调用 enable_language(CXX) 这样可以把 enable_language 放到 if 语句里,从而只有某些选项开启才启用某语言之类的 设置 C++ 标准: CMAKE_CXX_STANDARD 变量 • CMAKE_CXX_STANDARD #include时候是纯头文件,而 find_package(spdlog REQUIRED) 时却 变成预编译链接库的版本。(嗯,其实不是 PUBLIC 而是 INTERFACE ,因为伪对象没有实体) 和古代 CMake 做对比:为什么 PUBLIC 属性的传播机制如此便利 现代 CMake : 古代 CMake : 和 find_package(TBB 0 码力 | 166 页 | 6.54 MB | 1 年前3RustBelt - Rust 的形式化语义模型
Background ERC Project "RustBelt" 2015-2021 Unlike C/C++, Rust is a safe language But, like C/C++, Rust is also an unsafe language There are guaranteed memory safety, thread safety, ... There are plenty of the Rust Programming Language. In POPL 2018: ACM SIGPLAN Symposium on Principles of Programming Languages Ralf Jung. Understanding and Evolving the Rust Programming Language. PhD dissertation, Saarland Concurrent Separation Logic Framework RustBelt: Securing the Foundations of the Rust Programming Language Coq Proof Assistant: A Formal Proof Management System built on top of built on top of Rust0 码力 | 21 页 | 2.63 MB | 1 年前3基于Rust-vmm实现Kubernetes运行时
containerd runnc+Nabla OCI Solution OCI Compa tible Dedicated Docker Image Impleme ntation Language Open source Hot plug Direct access to HW Required Hyperviso rs Backed by Runc Yes Yes Golang common virtualization components which implements a Rust-based VMM. • Written in Rust: Memory-safe language • Secure: Minimal hardware emulation • Flexible: Easy to customize to fit various network, storage these companies setup a Rust-VMM project History of Rust-VMM Rust-VMM Overview Rust Based • New language with a focus on correctness and performance • Compiled to native code offering performance similar0 码力 | 27 页 | 34.17 MB | 1 年前3No Silver Bullet – Essence and Accident in Software Engineering
difficulties.”Solutions to Accidental Difficulties • High-level languages • The most a high-level language can do is to furnish all the constructs the programmer imagines in the abstract program • Time-sharing are they remainders of our accidental difficulties?”Silver bullets? • Ada and other high-level language advances • Object-oriented programming • Artificial intelligence • Expert systems • “Automatic” content, automatic programming has always been a euphemism for programming with a higher-level language than was presently available to the programmer • In essence, it is the solution method, not the0 码力 | 35 页 | 1.43 MB | 5 月前3应用 waPC (rust) 做软件测试工具
• One test case panics, crashes all the other AT jobs • High maintenance due to programming language 大公司 API 测试的需求 软件测试工具 • 模拟数据规则 • 自动化测试 • Use rust to compile wasm and send to wasm mock server • A test suite panic will not implicate the others • Can be compiled from many programming language • Store wasm files prevent maintenance issues API 测试 - Wasm Mock Server 用 rust, 好处多 软件测试工具0 码力 | 30 页 | 2.50 MB | 1 年前3
共 22 条
- 1
- 2
- 3