C++高性能并行编程与优化 - 课件 - 01 学 C++ 从 CMake 学起
add_executable 可以生成可执行文件外,还可以通过 add_library 生成库 文件。 • add_library 的语法与 add_executable 大致相同,除了他需要指定是动态库还是静态库: • add_library(test STATIC source1.cpp source2.cpp) # 生成静态库 libtest.a • add_library(test SHARED source10 码力 | 32 页 | 11.40 MB | 1 年前3C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南
但引入了运行时链接的麻烦 add_library 无参数时,是静态库还是动态库 ? 会根据 BUILD_SHARED_LIBS 这个变量的值决定是动态库还是静态库。 ON 则相当于 SHARED , OFF 则相当于 STATIC 。 如果未指定 BUILD_SHARED_LIBS 变量,则默认为 STATIC 。 因此,如果发现一个项目里的 add_library 都是无参数的,意味着你可以用0 码力 | 166 页 | 6.54 MB | 1 年前3C++高性能并行编程与优化 - 课件 - 08 CUDA 开启的 GPU 编程
CXX_STANDARD 和 CUDA_ARCHITECTURES 也有 这两种方式,我一般推荐直接设置全局的 CMAKE_CXX_STANDARD 即可应用到全部 add_executable/add_library 的对象上,比较方便。 进一步:核函数调用核函数 • 从 Kelper 架构开始, __global__ 里可以 调用另一个 __global__ ,也就是说核函数 可以调用另一个核函数,且其三重尖括号0 码力 | 142 页 | 13.52 MB | 1 年前3
共 3 条
- 1