C++高性能并行编程与优化 - 课件 - 01 学 C++ 从 CMake 学起添加要链接的库 • target_add_definitions(myapp PUBLIC MY_MACRO=1) # 添加一个宏定义 • target_add_definitions(myapp PUBLIC -DMY_MACRO=1) # 与 MY_MACRO=1 等价 • target_compile_options(myapp PUBLIC -fopenmp) 添加头文件搜索目录 • link_directories(/opt/cuda) # 添加库文件的搜索路径 • add_definitions(MY_MACRO=1) # 添加一个宏定义 • add_compile_options(-fopenmp) # 添加编译器命令行选项 第三方库 - 作为纯头文件引入0 码力 | 32 页 | 11.40 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 16 现代 CMake 模块化项目管理指南CMAKE_MODULE_PATH 这个列表 中的所有路径下查找 XXX.cmake 这个文件。 • 这样你可以在 XXX.cmake 里写一些你常用的函数,宏,变量等。 macro 和 function 的区别 • macro 相当于直接把代码粘贴过去,直接访问调用者的作用域。这里写的相对路径 include 和 src ,是基于调用者所在路径。 • function 则是会创建一个闭包, https://cmake.org/cmake/help/latest/command/function.html https://cmake.org/cmake/help/latest/command/macro.html include 和 add_subdirectory 的区别 • include 相当于直接把代码粘贴过去,直接访问调用者的作用域。这里创建的变量和外面共 享,直接 set(key0 码力 | 56 页 | 6.87 MB | 1 年前3
Making Libraries Consumable for Non-C++ Developersnot the same as “width”. Explicitly state/document/reference function conventions. • Defining a macro for calling conventions is a great start. For example, MYLIB_CCONV. • Reference: llvm - CallingConv not the same as “width”. Explicitly state/document/reference function conventions. • Defining a macro for calling conventions is a great start. For example, MYLIB_CCONV. • Reference: llvm - CallingConv0 码力 | 29 页 | 1.21 MB | 6 月前3
应用 waPC (rust) 做软件测试工具Mock rule based on path matching regex extern crate wapc_guest as guest; #[macro_use] extern crate wasm_mock_util; #[macro_use] extern crate serde_json; use guest::prelude::*; use wasm_mock_util::*;0 码力 | 30 页 | 2.50 MB | 1 年前3
C++20 STL Features: 1 Year of Development on GitHubentry immediately • Advice for Reviewing Pull Requests • MSVC STL Contributors Meeting Notes • Macro _MSVC_STL_UPDATE • Updated every month by new contributors • Custom Autolinks • DevCom-724444,0 码力 | 45 页 | 702.09 KB | 6 月前3
C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南除了父子模块之外还有哪些是带独立作用域的 • include 的 XXX.cmake 没有独立作用域 • add_subdirectory 的 CMakeLists.txt 有独立作用域 • macro 没有独立作用域 • function 有独立作用域 • (因此 PARENT_SCORE 也可以用于 function 的返回值) • https://cmake.org/cmake/help/v30 码力 | 166 页 | 6.54 MB | 1 年前3
THE FIRST EXPLORATION OF PROJECT SPARROWocs/GettingStarted.md 1.1.1 Testing on LAPAC71H II. Practicing Sparrow repo procedure: … II. Practicing Sparrow 2) Rust support in seL4 userspace Overview II. Practicing0 码力 | 68 页 | 13.14 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 04 从汇编角度看编译器优化constexpr :强迫编译器在编译期求值(续) 发现:会让编译变得很慢,因为这 50000 次迭代是在编译期进行的。 第 2 章:内联 调用外部函数: call 指令 @PLT 是 Procedure Linkage Table 的缩 写,即函数链接表。链接器会查找其他 .o 文件中是否定义了 _Z5otheri 这个符号, 如果定义了则把这个 @PLT 替换为他的地 址。 对 PLT0 码力 | 108 页 | 9.47 MB | 1 年前3
共 8 条
- 1













