C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南
/opt/openvdb-8.0 (会安装到 /opt/openvdb-8.0/lib/libopenvdb.so ) • cmake -B build -DCMAKE_BUILD_TYPE=Release • ↑ 设置构建模式为发布模式(开启全部优化) • cmake -B build ← 第二次配置时没有 -D 参数,但是之前的 -D 设置的变量都会被保留 • (此时缓存里仍有你之前定义的 Debug 调试模式,完全不优化,生成调试信息,方便调试程序 • Release 发布模式,优化程度最高,性能最佳,但是编译比 Debug 慢 • MinSizeRel 最小体积发布,生成的文件比 Release 更小,不完全优化,减少二进制体积 • RelWithDebInfo 带调试信息发布,生成的文件比 Release 更大,因为带有调试的符号信 息 • 默认情况下 CMAKE_BUILD_TYPE 为空字符串,这时相当于 Debug 。 各种构建模式在编译器选项上的区别 • 在 Release 模式下,追求的是程序的最佳性能表现,在此情况下,编译器会对程序做最大 的代码优化以达到最快运行速度。另一方面,由于代码优化后不与源代码一致,此模式下 一般会丢失大量的调试信息。 1. Debug: `-O0 -g` 2. Release: `-O3 -DNDEBUG` 3. MinSizeRel: `-Os0 码力 | 166 页 | 6.54 MB | 1 年前3Making Libraries Consumable for Non-C++ Developers
std::shared_ptr- Python - Objective-C (manual or automatic – see ARC) - Swift - COM – AddRef()/Release() - Non-Reference counted - .NET - JVM - JavaScript Manual memory management is rarely advocated obj // 0x5200, ref 3 obj->add_ref(); // 0x5200, ref 2 [obj AddRef]; // 0x5200, ref 2 [obj Release]; // 0x5200, ref 1 obj->rel_ref(); // 0x5200, ref 0 obj->rel_ref();Memory model – Non-Reference 0 码力 | 29 页 | 1.21 MB | 5 月前3whats new in visual studio
2021 May 2021 Mar 2021 Nov 2020 Visual Studio 2022 Preview 1 Preview 2 Preview 3 Preview 4 Release Candidate Visual Studio 2022 May 2021 Oct 2021 (today) You’re invited Launch Event 🚀 Monday, lace_back/etc • Implement the equivalent of Wmissing-braces • Update the bundled Android NDK to Release r21 LTS and track the LTS releases of the NDK Share your feedback at https://aka.ms/cpp/suggest0 码力 | 42 页 | 19.02 MB | 5 月前3Lock-Free Atomic Shared Pointers Without a Split Reference Count? It Can Be Done!
guarantee that no other thread will delete this value until after it is released. void release() • Release the protection on the protected value • Often done automatically through RAII types void0 码力 | 45 页 | 5.12 MB | 5 月前3基于Rust-vmm实现Kubernetes运行时
vmm-sys-util: collection of modules providing helpers and utilities for building VMMs and hypervisors. Release Crates Cloud Hypervisor • Cloud Hypervisor is an open source Virtual Machine Monitor (VMM) that0 码力 | 27 页 | 34.17 MB | 1 年前3应用 waPC (rust) 做软件测试工具
--header "Content-Type:application/octet- stream" \ --data-binary "@target/wasm32- unknown-unknown/release/examples/ $3.wasm" Mock rule based on path matching regex extern crate wapc_guest as guest; #[macro_use]0 码力 | 30 页 | 2.50 MB | 1 年前3THE FIRST EXPLORATION OF PROJECT SPARROW
the Renode Rust UART peripheral example: cargo build --target wasm32-unknown-unknown --release --lib III. Sparrow Development on branch "26999-rust_uart": https://github0 码力 | 68 页 | 13.14 MB | 1 年前3C++20: An (Almost) Complete Overview
ent information about the C++ Standard Library you are using Example: Version number Release date Copyright notice Additional implementation-defined information Includes the library0 码力 | 85 页 | 512.18 KB | 5 月前3Zadig 面向开发者的云原生 DevOps 平台
Chart 版本 工具链: • GitLab (源码 + 服务 Chart 配 置) • Rancher 部署 分支策略: • feature -> develop/release -> master 环境策略: • 三套环境( dev 、 qa 、 prod ) 现状:基于 GitLab + Helm Chart 模版 + 多套 values0 码力 | 59 页 | 81.43 MB | 1 年前3C++高性能并行编程与优化 - 课件 - 02 现代 C++ 入门:RAII 内存管理
扩展阅读关键字 • 限于篇幅,此处放出一些扩展知识供学有余力的同学研究: 1. P-IMPL 模式 2. 虚函数与纯虚函数 3. 拷贝如何作为虚函数 4. std::unique_ptr::release() 5. std::enable_shared_from_this 6. dynamic_cast 7. std::dynamic_pointer_cast 8. 运算符重载 9. 右值引用0 码力 | 96 页 | 16.28 MB | 1 年前3
共 10 条
- 1