 C++高性能并行编程与优化 -  课件 - 11 现代 CMake 进阶指南(会安装到 /opt/openvdb-8.0/lib/libopenvdb.so ) • cmake -B build -DCMAKE_BUILD_TYPE=Release • ↑ 设置构建模式为发布模式(开启全部优化) • cmake -B build ← 第二次配置时没有 -D 参数,但是之前的 -D 设置的变量都会被保留 • (此时缓存里仍有你之前定义的 CMAKE_BUILD_TYPE CMAKE_BUILD_TYPE 构建的类型,调试模式还是发布模式 • CMAKE_BUILD_TYPE 是 CMake 中一个特殊的变量,用于控制构建类型,他的值可以 是: • Debug 调试模式,完全不优化,生成调试信息,方便调试程序 • Release 发布模式,优化程度最高,性能最佳,但是编译比 Debug 慢 • MinSizeRel 最小体积发布,生成的文件比 Release 更小,不完全优化,减少二进制体积 更小,不完全优化,减少二进制体积 • RelWithDebInfo 带调试信息发布,生成的文件比 Release 更大,因为带有调试的符号信 息 • 默认情况下 CMAKE_BUILD_TYPE 为空字符串,这时相当于 Debug 。 各种构建模式在编译器选项上的区别 • 在 Release 模式下,追求的是程序的最佳性能表现,在此情况下,编译器会对程序做最大 的代码优化以达到最快运行速度。另一方0 码力 | 166 页 | 6.54 MB | 1 年前3 C++高性能并行编程与优化 -  课件 - 11 现代 CMake 进阶指南(会安装到 /opt/openvdb-8.0/lib/libopenvdb.so ) • cmake -B build -DCMAKE_BUILD_TYPE=Release • ↑ 设置构建模式为发布模式(开启全部优化) • cmake -B build ← 第二次配置时没有 -D 参数,但是之前的 -D 设置的变量都会被保留 • (此时缓存里仍有你之前定义的 CMAKE_BUILD_TYPE CMAKE_BUILD_TYPE 构建的类型,调试模式还是发布模式 • CMAKE_BUILD_TYPE 是 CMake 中一个特殊的变量,用于控制构建类型,他的值可以 是: • Debug 调试模式,完全不优化,生成调试信息,方便调试程序 • Release 发布模式,优化程度最高,性能最佳,但是编译比 Debug 慢 • MinSizeRel 最小体积发布,生成的文件比 Release 更小,不完全优化,减少二进制体积 更小,不完全优化,减少二进制体积 • RelWithDebInfo 带调试信息发布,生成的文件比 Release 更大,因为带有调试的符号信 息 • 默认情况下 CMAKE_BUILD_TYPE 为空字符串,这时相当于 Debug 。 各种构建模式在编译器选项上的区别 • 在 Release 模式下,追求的是程序的最佳性能表现,在此情况下,编译器会对程序做最大 的代码优化以达到最快运行速度。另一方0 码力 | 166 页 | 6.54 MB | 1 年前3
 C++高性能并行编程与优化 -  课件 - 16 现代 CMake 模块化项目管理指南minor 称为次版本号,功能有所变更或增加,但依然和旧的 API 兼容时会增加该号。 • patch 称为补丁版号,功能没有改变,只是修复了一些 bug 就重新发布时会增加该号。 • 也有的软件不拘一格(例如我们的 zeno ),索性用发布的日期作为版本号的三个数字, 例如 2022.11.2 。不论采用哪种编号方案,都是几个用点分开的数字,并且数字越大越新 ,且优先比较靠前面的数字。因此为了通用,0 码力 | 56 页 | 6.87 MB | 1 年前3 C++高性能并行编程与优化 -  课件 - 16 现代 CMake 模块化项目管理指南minor 称为次版本号,功能有所变更或增加,但依然和旧的 API 兼容时会增加该号。 • patch 称为补丁版号,功能没有改变,只是修复了一些 bug 就重新发布时会增加该号。 • 也有的软件不拘一格(例如我们的 zeno ),索性用发布的日期作为版本号的三个数字, 例如 2022.11.2 。不论采用哪种编号方案,都是几个用点分开的数字,并且数字越大越新 ,且优先比较靠前面的数字。因此为了通用,0 码力 | 56 页 | 6.87 MB | 1 年前3
 面向亿行 C/C++ 代码的静态分析系统设计及实践-肖枭使用主体和责任主体不一致  一步登天想要终极AI 代码质量改进工具、流程落地难 Bug! No Thx! DevOps: 代码质量责任应该左移 设计 代码 开发 代码 评审 入库 测试 发布 1. 非研发人员主导,沟通成本高,推动修复周期长 2. 很难形成标准推动研发实施 3. 形成技术债,偿债成本高 1. 代码签入前,研发人员有义务修复问题 2. 测试人员早期加入,更懂项目研发的情况,沟通成本低,加快上线0 码力 | 39 页 | 6.88 MB | 1 年前3 面向亿行 C/C++ 代码的静态分析系统设计及实践-肖枭使用主体和责任主体不一致  一步登天想要终极AI 代码质量改进工具、流程落地难 Bug! No Thx! DevOps: 代码质量责任应该左移 设计 代码 开发 代码 评审 入库 测试 发布 1. 非研发人员主导,沟通成本高,推动修复周期长 2. 很难形成标准推动研发实施 3. 形成技术债,偿债成本高 1. 代码签入前,研发人员有义务修复问题 2. 测试人员早期加入,更懂项目研发的情况,沟通成本低,加快上线0 码力 | 39 页 | 6.88 MB | 1 年前3
 C++高性能并行编程与优化 -  课件 - 02 现代 C++ 入门:RAII 内存管理std::any • 只提供了关键字,详细信息请善用搜索引擎: bing.com 。(不要用 baidu.com ,那个是搜广告用的) • 如果感兴趣,我可以增添一节专门讲动态多态。 回家作业! • 已经发布到: https://github.com/parallel101/hw02 • 仓库的 README.md 里有详细的作业要求和说明。请按要求修改其中的代码,使得双向 链表类 List 的拷贝0 码力 | 96 页 | 16.28 MB | 1 年前3 C++高性能并行编程与优化 -  课件 - 02 现代 C++ 入门:RAII 内存管理std::any • 只提供了关键字,详细信息请善用搜索引擎: bing.com 。(不要用 baidu.com ,那个是搜广告用的) • 如果感兴趣,我可以增添一节专门讲动态多态。 回家作业! • 已经发布到: https://github.com/parallel101/hw02 • 仓库的 README.md 里有详细的作业要求和说明。请按要求修改其中的代码,使得双向 链表类 List 的拷贝0 码力 | 96 页 | 16.28 MB | 1 年前3
 C++高性能并行编程与优化 -  课件 - 08 CUDA 开启的 GPU 编程kernel 好像没有执行过一样,只有 CPU 上的代码被执行了。 指定多个版本号 • 可以指定多个版本号,之间用分号分割。 • 运行时可以自动选择最适合当前显卡的版 本号,通常用于打包发布的时候。 • 不过这样会导致 GPU 编译器重复编译很 多遍,每次针对不同的架构,所以编译会 变得非常慢,生成的可执行文件也会变大 。 • 通常在自己的电脑上用时,同学们只要根 据自己显卡的指定一个版本号即可。0 码力 | 142 页 | 13.52 MB | 1 年前3 C++高性能并行编程与优化 -  课件 - 08 CUDA 开启的 GPU 编程kernel 好像没有执行过一样,只有 CPU 上的代码被执行了。 指定多个版本号 • 可以指定多个版本号,之间用分号分割。 • 运行时可以自动选择最适合当前显卡的版 本号,通常用于打包发布的时候。 • 不过这样会导致 GPU 编译器重复编译很 多遍,每次针对不同的架构,所以编译会 变得非常慢,生成的可执行文件也会变大 。 • 通常在自己的电脑上用时,同学们只要根 据自己显卡的指定一个版本号即可。0 码力 | 142 页 | 13.52 MB | 1 年前3
 Hello 算法 1.0.0b4 C++版不同语言的需求。 3.4.2. GBK 字符集 后来人们发现,EASCII 码仍然无法满足许多语言的字符数量要求。例如,汉字大约有近十万个,光日常使 用的就有几千个。中国国家标准总局于 1980 年发布了「GB2312」字符集,其收录了 6763 个汉字,基本满 足了汉字的计算机处理需要。 然而,GB2312 无法处理部分的罕见字和繁体字。之后在 GB2312 的基础上,扩展得到了「GBK」字符集,它 「Unicode」的全称为“统一字符编码”,理论上能容纳一百多万个字符。它致力于将全球范围内的字符纳入 到统一的字符集之中,提供一种通用的字符集来处理和显示各种语言文字,减少因为编码标准不同而产生的 乱码问题。 自 1991 年发布以来,Unicode 不断扩充新的语言与字符。截止 2022 年 9 月,Unicode 已经包含 149186 个 字符,包括各种语言的字符、符号、甚至是表情符号等。在庞大的 Unicode 字符集中,常用的字符占用0 码力 | 343 页 | 27.39 MB | 1 年前3 Hello 算法 1.0.0b4 C++版不同语言的需求。 3.4.2. GBK 字符集 后来人们发现,EASCII 码仍然无法满足许多语言的字符数量要求。例如,汉字大约有近十万个,光日常使 用的就有几千个。中国国家标准总局于 1980 年发布了「GB2312」字符集,其收录了 6763 个汉字,基本满 足了汉字的计算机处理需要。 然而,GB2312 无法处理部分的罕见字和繁体字。之后在 GB2312 的基础上,扩展得到了「GBK」字符集,它 「Unicode」的全称为“统一字符编码”,理论上能容纳一百多万个字符。它致力于将全球范围内的字符纳入 到统一的字符集之中,提供一种通用的字符集来处理和显示各种语言文字,减少因为编码标准不同而产生的 乱码问题。 自 1991 年发布以来,Unicode 不断扩充新的语言与字符。截止 2022 年 9 月,Unicode 已经包含 149186 个 字符,包括各种语言的字符、符号、甚至是表情符号等。在庞大的 Unicode 字符集中,常用的字符占用0 码力 | 343 页 | 27.39 MB | 1 年前3
 Hello 算法 1.1.0 C++ 版个字符定义不同,以适应不同语言的需求。 3.4.2 GBK 字符集 后来人们发现,EASCII 码仍然无法满足许多语言的字符数量要求。比如汉字有近十万个,光日常使用的就 有几千个。中国国家标准总局于 1980 年发布了 GB2312 字符集,其收录了 6763 个汉字,基本满足了汉字的 计算机处理需要。 然而,GB2312 无法处理部分罕见字和繁体字。GBK 字符集是在 GB2312 的基础上扩展得到的,它共收录了 的中文名称为“统一码”,理论上能容纳 100 多万个字符。它致力于将全球范围内的字符纳入统一 的字符集之中,提供一种通用的字符集来处理和显示各种语言文字,减少因为编码标准不同而产生的乱码问 题。 自 1991 年发布以来,Unicode 不断扩充新的语言与字符。截至 2022 年 9 月,Unicode 已经包含 149186 个 字符,包括各种语言的字符、符号甚至表情符号等。在庞大的 Unicode 字符集中,常用的字符占用0 码力 | 379 页 | 18.47 MB | 1 年前3 Hello 算法 1.1.0 C++ 版个字符定义不同,以适应不同语言的需求。 3.4.2 GBK 字符集 后来人们发现,EASCII 码仍然无法满足许多语言的字符数量要求。比如汉字有近十万个,光日常使用的就 有几千个。中国国家标准总局于 1980 年发布了 GB2312 字符集,其收录了 6763 个汉字,基本满足了汉字的 计算机处理需要。 然而,GB2312 无法处理部分罕见字和繁体字。GBK 字符集是在 GB2312 的基础上扩展得到的,它共收录了 的中文名称为“统一码”,理论上能容纳 100 多万个字符。它致力于将全球范围内的字符纳入统一 的字符集之中,提供一种通用的字符集来处理和显示各种语言文字,减少因为编码标准不同而产生的乱码问 题。 自 1991 年发布以来,Unicode 不断扩充新的语言与字符。截至 2022 年 9 月,Unicode 已经包含 149186 个 字符,包括各种语言的字符、符号甚至表情符号等。在庞大的 Unicode 字符集中,常用的字符占用0 码力 | 379 页 | 18.47 MB | 1 年前3
 Hello 算法 1.0.0b5 C++版个字符定义不同,以适应不同语言的需求。 3.4.2 GBK 字符集 后来人们发现,EASCII 码仍然无法满足许多语言的字符数量要求。比如汉字大约有近十万个,光日常使用 的就有几千个。中国国家标准总局于 1980 年发布了「GB2312」字符集,其收录了 6763 个汉字,基本满足 了汉字的计算机处理需要。 然而,GB2312 无法处理部分的罕见字和繁体字。「GBK」字符集是在 GB2312 的基础上扩展得到的,它共收 「Unicode」的全称为“统一字符编码”,理论上能容纳一百多万个字符。它致力于将全球范围内的字符纳入 到统一的字符集之中,提供一种通用的字符集来处理和显示各种语言文字,减少因为编码标准不同而产生的 乱码问题。 自 1991 年发布以来,Unicode 不断扩充新的语言与字符。截止 2022 年 9 月,Unicode 已经包含 149186 个 字符,包括各种语言的字符、符号、甚至是表情符号等。在庞大的 Unicode 字符集中,常用的字符占用0 码力 | 377 页 | 30.69 MB | 1 年前3 Hello 算法 1.0.0b5 C++版个字符定义不同,以适应不同语言的需求。 3.4.2 GBK 字符集 后来人们发现,EASCII 码仍然无法满足许多语言的字符数量要求。比如汉字大约有近十万个,光日常使用 的就有几千个。中国国家标准总局于 1980 年发布了「GB2312」字符集,其收录了 6763 个汉字,基本满足 了汉字的计算机处理需要。 然而,GB2312 无法处理部分的罕见字和繁体字。「GBK」字符集是在 GB2312 的基础上扩展得到的,它共收 「Unicode」的全称为“统一字符编码”,理论上能容纳一百多万个字符。它致力于将全球范围内的字符纳入 到统一的字符集之中,提供一种通用的字符集来处理和显示各种语言文字,减少因为编码标准不同而产生的 乱码问题。 自 1991 年发布以来,Unicode 不断扩充新的语言与字符。截止 2022 年 9 月,Unicode 已经包含 149186 个 字符,包括各种语言的字符、符号、甚至是表情符号等。在庞大的 Unicode 字符集中,常用的字符占用0 码力 | 377 页 | 30.69 MB | 1 年前3
 Hello 算法 1.0.0 C++版个字符定义不同,以适应不同语言的需求。 3.4.2 GBK 字符集 后来人们发现,EASCII 码仍然无法满足许多语言的字符数量要求。比如汉字有近十万个,光日常使用的就 有几千个。中国国家标准总局于 1980 年发布了「GB2312」字符集,其收录了 6763 个汉字,基本满足了汉 字的计算机处理需要。 然而,GB2312 无法处理部分罕见字和繁体字。「GBK」字符集是在 GB2312 的基础上扩展得到的,它共收录 「Unicode」的中文名称为“统一码”,理论上能容纳 100 多万个字符。它致力于将全球范围内的字符纳入统 一的字符集之中,提供一种通用的字符集来处理和显示各种语言文字,减少因为编码标准不同而产生的乱码 问题。 自 1991 年发布以来,Unicode 不断扩充新的语言与字符。截至 2022 年 9 月,Unicode 已经包含 149186 个 字符,包括各种语言的字符、符号甚至表情符号等。在庞大的 Unicode 字符集中,常用的字符占用0 码力 | 378 页 | 17.59 MB | 1 年前3 Hello 算法 1.0.0 C++版个字符定义不同,以适应不同语言的需求。 3.4.2 GBK 字符集 后来人们发现,EASCII 码仍然无法满足许多语言的字符数量要求。比如汉字有近十万个,光日常使用的就 有几千个。中国国家标准总局于 1980 年发布了「GB2312」字符集,其收录了 6763 个汉字,基本满足了汉 字的计算机处理需要。 然而,GB2312 无法处理部分罕见字和繁体字。「GBK」字符集是在 GB2312 的基础上扩展得到的,它共收录 「Unicode」的中文名称为“统一码”,理论上能容纳 100 多万个字符。它致力于将全球范围内的字符纳入统 一的字符集之中,提供一种通用的字符集来处理和显示各种语言文字,减少因为编码标准不同而产生的乱码 问题。 自 1991 年发布以来,Unicode 不断扩充新的语言与字符。截至 2022 年 9 月,Unicode 已经包含 149186 个 字符,包括各种语言的字符、符号甚至表情符号等。在庞大的 Unicode 字符集中,常用的字符占用0 码力 | 378 页 | 17.59 MB | 1 年前3
 Hello 算法 1.2.0 简体中文 C++ 版个字符定义不同,以适应不同语言的需求。 3.4.2 GBK 字符集 后来人们发现,EASCII 码仍然无法满足许多语言的字符数量要求。比如汉字有近十万个,光日常使用的就 有几千个。中国国家标准总局于 1980 年发布了 GB2312 字符集,其收录了 6763 个汉字,基本满足了汉字的 计算机处理需要。 然而,GB2312 无法处理部分罕见字和繁体字。GBK 字符集是在 GB2312 的基础上扩展得到的,它共收录了 的中文名称为“统一码”,理论上能容纳 100 多万个字符。它致力于将全球范围内的字符纳入统一 的字符集之中,提供一种通用的字符集来处理和显示各种语言文字,减少因为编码标准不同而产生的乱码问 题。 自 1991 年发布以来,Unicode 不断扩充新的语言与字符。截至 2022 年 9 月,Unicode 已经包含 149186 个 字符,包括各种语言的字符、符号甚至表情符号等。在庞大的 Unicode 字符集中,常用的字符占用0 码力 | 379 页 | 18.48 MB | 10 月前3 Hello 算法 1.2.0 简体中文 C++ 版个字符定义不同,以适应不同语言的需求。 3.4.2 GBK 字符集 后来人们发现,EASCII 码仍然无法满足许多语言的字符数量要求。比如汉字有近十万个,光日常使用的就 有几千个。中国国家标准总局于 1980 年发布了 GB2312 字符集,其收录了 6763 个汉字,基本满足了汉字的 计算机处理需要。 然而,GB2312 无法处理部分罕见字和繁体字。GBK 字符集是在 GB2312 的基础上扩展得到的,它共收录了 的中文名称为“统一码”,理论上能容纳 100 多万个字符。它致力于将全球范围内的字符纳入统一 的字符集之中,提供一种通用的字符集来处理和显示各种语言文字,减少因为编码标准不同而产生的乱码问 题。 自 1991 年发布以来,Unicode 不断扩充新的语言与字符。截至 2022 年 9 月,Unicode 已经包含 149186 个 字符,包括各种语言的字符、符号甚至表情符号等。在庞大的 Unicode 字符集中,常用的字符占用0 码力 | 379 页 | 18.48 MB | 10 月前3
共 10 条
- 1













