 C++20: An (Almost) Complete Overviewco_yield  char8_t  New identifiers:  import  moduleModules7 Modules  Advantages  Replace header files  Modules explicitly state what should be exported (e.g. classes, functions, …)  Separation  Improves build throughput; C++20: An (Almost) Complete Overviewco_yield  char8_t  New identifiers:  import  moduleModules7 Modules  Advantages  Replace header files  Modules explicitly state what should be exported (e.g. classes, functions, …)  Separation  Improves build throughput;- will be processed only once  Comparable to precompiled header files (PCH)  Custom headers can also be made importable, but how to is compiler dependent “How return value will result in memory leaks.")]] void* GetData() { /* ... */ }80 Bit Operations  Header -  Set of global non-member functions to operate on bits  Rotate: rotl(), rotr()  Counting 0 码力 | 85 页 | 512.18 KB | 6 月前3
 C++高性能并行编程与优化 -  课件 - 01 学 C++ 从 CMake 学起# 添加编译器命令行选项 第三方库 - 作为纯头文件引入 • 有时候我们不满足于 C++ 标准库的功能,难免会用到一些第三方库。 • 最友好的一类库莫过于纯头文件库了,这里是一些好用的 header-only 库: 1. nothings/stb - 大名鼎鼎的 stb_image 系列,涵盖图像,声音,字体等,只需单头文件! 2. Neargye/magic_enum - 枚举类型的 ericniebler/range-v3 - C++20 ranges 库就是受到他启发(完全是头文件组成) 6. fmtlib/fmt - 格式化库,提供 std::format 的替代品(需要 -DFMT_HEADER_ONLY ) 7. gabime/spdlog - 能适配控制台,安卓等多后端的日志库(和 fmt 冲突!) • 只需要把他们的 include 目录或头文件下载下来,然后 include0 码力 | 32 页 | 11.40 MB | 1 年前3 C++高性能并行编程与优化 -  课件 - 01 学 C++ 从 CMake 学起# 添加编译器命令行选项 第三方库 - 作为纯头文件引入 • 有时候我们不满足于 C++ 标准库的功能,难免会用到一些第三方库。 • 最友好的一类库莫过于纯头文件库了,这里是一些好用的 header-only 库: 1. nothings/stb - 大名鼎鼎的 stb_image 系列,涵盖图像,声音,字体等,只需单头文件! 2. Neargye/magic_enum - 枚举类型的 ericniebler/range-v3 - C++20 ranges 库就是受到他启发(完全是头文件组成) 6. fmtlib/fmt - 格式化库,提供 std::format 的替代品(需要 -DFMT_HEADER_ONLY ) 7. gabime/spdlog - 能适配控制台,安卓等多后端的日志库(和 fmt 冲突!) • 只需要把他们的 include 目录或头文件下载下来,然后 include0 码力 | 32 页 | 11.40 MB | 1 年前3
 C++高性能并行编程与优化 -  课件 - 11 现代 CMake 进阶指南CMake 中添加一个可执行文件作为构建目标 另一种方式:先创建目标,稍后再添加源文件 如果有多个源文件呢? 逐个添加即可 使用变量来存储 建议把头文件也加上,这样在 VS 里可以出现在“ Header Files” 一栏 使用 GLOB 自动查找当前目录下指定扩展名的文件,实现批量添加源文件 启用 CONFIGURE_DEPENDS 选项,当添加新文件时,自动更新变量 如果源码放在子文件夹里怎么办? 链接了另一个库 Blosc::blosc ,那这个库也会自动链接到 main 上,无需调用者手动 添加。 比如 spdlog 的 spdlog-config.cmake 就会定义 SPDLOG_NOT_HEADER_ONLY 这个宏为 PUBLIC 。 从而实现直接 #include C++高性能并行编程与优化 -  课件 - 11 现代 CMake 进阶指南CMake 中添加一个可执行文件作为构建目标 另一种方式:先创建目标,稍后再添加源文件 如果有多个源文件呢? 逐个添加即可 使用变量来存储 建议把头文件也加上,这样在 VS 里可以出现在“ Header Files” 一栏 使用 GLOB 自动查找当前目录下指定扩展名的文件,实现批量添加源文件 启用 CONFIGURE_DEPENDS 选项,当添加新文件时,自动更新变量 如果源码放在子文件夹里怎么办? 链接了另一个库 Blosc::blosc ,那这个库也会自动链接到 main 上,无需调用者手动 添加。 比如 spdlog 的 spdlog-config.cmake 就会定义 SPDLOG_NOT_HEADER_ONLY 这个宏为 PUBLIC 。 从而实现直接 #include- 时候是纯头文件,而 find_package(spdlog REQUIRED) 时却 变成预编译链接库的版本。(嗯,其实不是 0 码力 | 166 页 | 6.54 MB | 1 年前3
 陈东 - 利用Rust重塑移动应用开发-230618the crate lipo to generate the staticlib for ios application - Use the cbindgen to generate the header file for this library - Introduce the library as linked library into the application Protocol Buffers0 码力 | 22 页 | 2.10 MB | 1 年前3 陈东 - 利用Rust重塑移动应用开发-230618the crate lipo to generate the staticlib for ios application - Use the cbindgen to generate the header file for this library - Introduce the library as linked library into the application Protocol Buffers0 码力 | 22 页 | 2.10 MB | 1 年前3
 Making Libraries Consumable for Non-C++ Developerssizes, string encoding, etc. • Interop scenarios often aren’t using a C++ compiler to read the header, humans are. • Kate Gregory’s “What Do We Mean When We Say Nothing At All?”Thank you. Email: arobins@microsoft0 码力 | 29 页 | 1.21 MB | 6 月前3 Making Libraries Consumable for Non-C++ Developerssizes, string encoding, etc. • Interop scenarios often aren’t using a C++ compiler to read the header, humans are. • Kate Gregory’s “What Do We Mean When We Say Nothing At All?”Thank you. Email: arobins@microsoft0 码力 | 29 页 | 1.21 MB | 6 月前3
 应用 waPC (rust) 做软件测试工具curl -X POST “http://$MockServer: $Port/call/$Operation?targets=\/v2\/m atches\/.*\/info" \ --header "Content-Type:application/octet- stream" \ --data-binary "@target/wasm32- unknown-unknown/release/examples/0 码力 | 30 页 | 2.50 MB | 1 年前3 应用 waPC (rust) 做软件测试工具curl -X POST “http://$MockServer: $Port/call/$Operation?targets=\/v2\/m atches\/.*\/info" \ --header "Content-Type:application/octet- stream" \ --data-binary "@target/wasm32- unknown-unknown/release/examples/0 码力 | 30 页 | 2.50 MB | 1 年前3
 Working with Asynchrony Generically: A Tour of C++ Executorsregister a callback to be executed when the caller requests stop. https://en.cppreference.com/w/cpp/header/stop_ tokenCANCELLATION IN SENDER/RECEIVER SENDER RECEIVER OPERATION STATE connect start0 码力 | 121 页 | 7.73 MB | 6 月前3 Working with Asynchrony Generically: A Tour of C++ Executorsregister a callback to be executed when the caller requests stop. https://en.cppreference.com/w/cpp/header/stop_ tokenCANCELLATION IN SENDER/RECEIVER SENDER RECEIVER OPERATION STATE connect start0 码力 | 121 页 | 7.73 MB | 6 月前3
 C++23: An Overview of Almost All New and Updated Features/*A*/ } else { /*B*/ }  It’s equivalent except for:  if consteval is part of core language, so no header needed  Within an if consteval block you can call immediate (consteval) functions, which you0 码力 | 105 页 | 759.96 KB | 6 月前3 C++23: An Overview of Almost All New and Updated Features/*A*/ } else { /*B*/ }  It’s equivalent except for:  if consteval is part of core language, so no header needed  Within an if consteval block you can call immediate (consteval) functions, which you0 码力 | 105 页 | 759.96 KB | 6 月前3
共 8 条
- 1













