现代C++ 教程:高速上手C++11/14/17/20夹名称为章节序号。 随书习题 本书每章最后还加入了少量难度极小的习题,仅用于检验你是否能混合运用当前章节中的知识点。你 可以在这里找到习题的答案,文件夹名称为章节序号。 第 1 章迈向现代 C++ 编译环境:本书将使用 clang++ 作为唯一使用的编译器,同时总是在代码中使用 -std=c++2a 编译 标志。 > clang++ -v Apple LLVM version 10.0.1 (clang-1001 std::boolalpha << a.is_lock_free() << std::endl; return 0; } 一致性模型 并行执行的多个线程,从某种宏观层面上讨论,可以粗略的视为一种分布式系统。在分布式系统中, 任何通信乃至本地操作都需要消耗一定时间,甚至出现不可靠的通信。 如果我们强行将一个变量 v 在多个线程之间的操作设为原子操作,即任何一个线程在操作完 v 后, 其他线程均能同步感知到0 码力 | 83 页 | 2.42 MB | 1 年前3
面向亿行 C/C++ 代码的静态分析系统设计及实践-肖枭150 200 250 300 不编译 编译 报告数 编译流程融合静态分析 分布式编译与分析 大量使用缓存 提升静态分析的理论速度 如何做到10分钟反馈分析结果 系统地改进分析时间 编译流程 分析流程 依赖关系分析 分布式 编译 分布式 分析 分布式链接 跨模块分析 报告整合 缓存 缓存 缓存 缓存 硬核玩家:从理论上改进静态分析能力0 码力 | 39 页 | 6.88 MB | 1 年前3
《深入浅出MFC》2/e子不欺暗室」。没有人知道我们私下的行为,只有我们自己心知肚明。《深入 浅出MFC》2/e 虽免费供大家阅读,但此种作法实非长久之计。为计久长,我 们应该尊重作家、尊重智财,以良好(至少不差)的环境培养有实力的优秀技 术作家,如此才有源源不断的好书可看。 我的近况,我的作品,我的计划,各位可从前述两个网址获得。欢迎各位写信 给我(jjhou@ccca.nctu.edu.tw)。虽然不一定能够每封来函都回复,但是我乐于 tw 侯先生,您好,我是屏科大的学生,想要用MFC 写一个可以新增、修改、删除资料等动作的 程序,日前老师借了我您的书深入浅出MFC 第二版,我读了很快乐,对于Visual C++ 的 IDE 环境更为了解,对于MFC 整个架构,有了比较明朗的感觉。 大陆Mike Dong尊敬的侯俊杰先生:我叫董旬。我对C/C++ 非常有兴趣。畅读了您写的书《深入浅出 、香港、中国大陆、美 国...),也是另一种安慰。在BBS 及Internet News 看到各界对此书的评介,以及对此书内容 的探讨,亦让我感到十分欣喜。 3 这本书(第二版)所使用的开发环境是Visual C++ 5.0 & MFC 4.21。就在第五刷即将印行的 今天,Visual C++ 6.0 也已问世;其中的programming 关键,也就是MFC,在主干上没有什 么变化,因此我不打算为了Visual 0 码力 | 1009 页 | 11.08 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南这个目标,即安 装 -D 选项:指定配置变量(又称缓存变量) • 可见 CMake 项目的构建分为两步: • 第一步是 cmake -B build ,称为配置阶段( configure ),这时只检测环境并生成构建规则 • 会在 build 目录下生成本地构建系统能识别的项目文件( Makefile 或是 .sln ) • 第二步是 cmake --build build ,称为构建阶段( build 比较蠢,他只会找当前 exe 所在目 录,然后查找 PATH ,找不到就报错。而你的 dll 在其他目录,因此 Windows 会找不到 dll 。 • 解决 1 :把 dll 所在位置加到你的 PATH 环境变量里去,一劳永逸。 • 解决 2 :把这个 dll ,以及这个 dll 所依赖的其他 dll ,全部拷贝到和 exe 文件同一目录 下。 手动拷贝 dll 好麻烦,能不能让 CMake 把 dll Qt5Config.cmake ,更有针对性。 • 第三种 ( 推荐 ) ,直接在命令行通过 -DQt5_DIR=”xxx” 指定,这样不用修改 CMakeLists.txt 。 • 第四种,还可以通过设置环境变量 Qt5_DIR 也是可以的,就是对 Windows 用户比较困 难。 不指定 REQUIRED ,找不到时不报错,只会设置 TBB_FOUND 为 FALSE 如果没有 REQUIRED0 码力 | 166 页 | 6.54 MB | 1 年前3
Hello 算法 1.2.0 简体中文 C++ 版. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 第 16 章 附录 362 16.1 编程环境安装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 16.2 一起参与创作 . . . 与阅读代码相比,编写代码的过程往往能带来更多收获。动手学,才是真的学。 第 0 章 前言 www.hello‑algo.com 6 图 0‑3 运行代码示例 运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。 第二步:克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库: git clone https://github ,它们都能解决同一问题,现在需要对比这两个算法的效率。最直接的方法 是找一台计算机,运行这两个算法,并监控记录它们的运行时间和内存占用情况。这种评估方式能够反映真 实情况,但也存在较大的局限性。 一方面,难以排除测试环境的干扰因素。硬件配置会影响算法的性能表现。比如一个算法的并行度较高,那 么它就更适合在多核 CPU 上运行,一个算法的内存操作密集,那么它在高性能内存上的表现就会更好。也 就是说,算法在不同的机0 码力 | 379 页 | 18.48 MB | 10 月前3
Hello 算法 1.0.0b1 C++版. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 12. 附录 180 12.1. 编程环境安装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 12.2. 一起参与创作 . 若时间允许,强烈建议对照着代码自己敲一遍。相比于读代码,写代码的过程往往能带来新的收获。 0. 写在前面 hello‑algo.com 5 Figure 0‑4. 运行代码示例 第一步:安装本地编程环境。参照附录教程,如果已有可直接跳过。 第二步:下载代码仓。如果已经安装 Git ,可以通过命令行来克隆代码仓。 git clone https://github.com/krahets/hello-algo ,都能够解决同一问题,现在需要对比两个算法之间的效率。我们能够想到 的最直接的方式,就是找一台计算机,把两个算法都完整跑一遍,并监控记录运行时间和内存占用情况。这种 评估方式能够反映真实情况,但是也存在很大的硬伤。 难以排除测试环境的干扰因素。硬件配置会影响到算法的性能表现。例如,在某台计算机中,算法 A 比算法 B 运行时间更短;但换到另一台配置不同的计算机中,可能会得到相反的测试结果。这意味着我们需要在各种机 器上展开测试,而这是不现实的。0 码力 | 187 页 | 14.71 MB | 1 年前3
Hello 算法 1.1.0 C++ 版. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 第 16 章 附录 362 16.1 编程环境安装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 16.2 一起参与创作 . . . 与阅读代码相比,编写代码的过程往往能带来更多收获。动手学,才是真的学。 第 0 章 前言 hello‑algo.com 6 图 0‑3 运行代码示例 运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。 第二步:克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库: git clone https://github ,它们都能解决同一问题,现在需要对比这两个算法的效率。最直接的方法 是找一台计算机,运行这两个算法,并监控记录它们的运行时间和内存占用情况。这种评估方式能够反映真 实情况,但也存在较大的局限性。 一方面,难以排除测试环境的干扰因素。硬件配置会影响算法的性能。比如在某台计算机中,算法 A 的运行 时间比算法 B 短;但在另一台配置不同的计算机中,可能得到相反的测试结果。这意味着我们需要在各种机 器上进行测试,统计平均效率,而这是不现实的。0 码力 | 379 页 | 18.47 MB | 1 年前3
Hello 算法 1.0.0 C++版. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 第 16 章 附录 364 16.1 编程环境安装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 16.2 一起参与创作 . . . 与阅读代码相比,编写代码的过程往往能带来更多收获。动手学,才是真的学。 第 0 章 前言 hello‑algo.com 6 图 0‑3 运行代码示例 运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。 第二步:克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库: git clone https://github ,它们都能解决同一问题,现在需要对比这两个算法的效率。最直接的方法 是找一台计算机,运行这两个算法,并监控记录它们的运行时间和内存占用情况。这种评估方式能够反映真 实情况,但也存在较大的局限性。 一方面,难以排除测试环境的干扰因素。硬件配置会影响算法的性能。比如在某台计算机中,算法 A 的运行 时间比算法 B 短;但在另一台配置不同的计算机中,可能得到相反的测试结果。这意味着我们需要在各种机 器上进行测试,统计平均效率,而这是不现实的。0 码力 | 378 页 | 17.59 MB | 1 年前3
Hello 算法 1.0.0b2 C++版. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 12. 附录 190 12.1. 编程环境安装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 12.2. 一起参与创作 . 若时间允许,强烈建议对照着代码自己敲一遍。相比于读代码,写代码的过程往往能带来新的收获。 0. 写在前面 hello‑algo.com 5 Figure 0‑4. 运行代码示例 第一步:安装本地编程环境。参照附录教程,如果已有可直接跳过。 第二步:下载代码仓。如果已经安装 Git ,可以通过命令行来克隆代码仓。 git clone https://github.com/krahets/hello-algo ,都能够解决同一问题,现在需要对比两个算法之间的效率。我们能够想到 的最直接的方式,就是找一台计算机,把两个算法都完整跑一遍,并监控记录运行时间和内存占用情况。这种 评估方式能够反映真实情况,但是也存在很大的硬伤。 难以排除测试环境的干扰因素。硬件配置会影响到算法的性能表现。例如,在某台计算机中,算法 A 比算法 B 运行时间更短;但换到另一台配置不同的计算机中,可能会得到相反的测试结果。这意味着我们需要在各种机 器上展开测试,而这是不现实的。0 码力 | 197 页 | 15.72 MB | 1 年前3
Hello 算法 1.0.0b5 C++版. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 第 16 章 附录 368 16.1 编程环境安装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 16.2 一起参与创作 . . . 时间有限,请至少通读并运行所有代码。 与阅读代码相比,编写代码的过程往往能带来更多收获。动手学,才是真的学。 图 0‑3 运行代码示例 运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录教程进行安装,如果已安装则可跳过此步骤。 第二步:下载代码仓。如果已经安装 Git ,可以通过以下命令克隆本仓库。 git clone https://github.com/krahets/hello-algo ,它们都能解决同一问题,现在需要对比这两个算法的效率。最直接的方法 是找一台计算机,运行这两个算法,并监控记录它们的运行时间和内存占用情况。这种评估方式能够反映真 实情况,但也存在较大局限性。 一方面,难以排除测试环境的干扰因素。硬件配置会影响算法的性能表现。比如在某台计算机中,算法 A 的 运行时间比算法 B 短;但在另一台配置不同的计算机中,我们可能得到相反的测试结果。这意味着我们需要 在各种机器上进行测试,统计平均效率,而这是不现实的。0 码力 | 377 页 | 30.69 MB | 1 年前3
共 20 条
- 1
- 2













