《深入浅出MFC》2/e/ 170 Message Mapping(訊息映射) / 170 Frame7 範例程式 / 181 Command Routing(命令繞行) / 191 Frame8 範例程式 / 203 * 本章回顧 / 216 第㆓篇 欲善工事先利其器- Visual C++ 5.0 開發工具 / CObList ㆗加入 CStroke 以外的類別 / 537 Document 與 View 交流 - 為 Scribble Step4 做準備 / 543 第9章 訊息映射與命令繞行 / 547 到底要解決什麼 / 547 訊息分類 / 549 萬流歸宗 Command Target(CCmdTarget) / 550 拐彎㆖溯(WM_COMMAND 命令訊息) / 572 深入淺出 MFC 22 羅塞達碑石:AfxSig_xx 的秘密 / 580 Scribble Step2:UI 物件的變化 / 585 改變選單 / 585 改變工具列 / 588 利用 ClassWizard 連接命令項識別碼與命令處理函式 /0 码力 | 1009 页 | 11.08 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 01 学 C++ 从 CMake 学起编译器,是一个根据源代码生成机器码的程序。 • > g++ main.cpp -o a.out • 该命令会调用编译器程序 g++ ,让他读取 main.cpp 中的字符串(称为源码),并根据 C+ + 标准生成相应的机器指令码,输出到 a.out 这个文件中,(称为可执行文件)。 • > ./a.out • 之后执行该命令,操作系统会读取刚刚生成的可执行文件,从而执行其中编译成机器码, 调用系统提供的 printf 文件越来越多时,一个个调用 g++ 编译链接会变得很麻烦。 • 于是,发明了 make 这个程序,你只需写出不同文件之间的依赖关系,和生成各文件的规则。 • > make a.out • 敲下这个命令,就可以构建出 a.out 这个可执行文件了。 • 和直接用一个脚本写出完整的构建过程相比, make 指明依赖关系的好处: 1. 当更新了 hello.cpp 时只会重新编译 hello.o ,而不需要把 用通配符批量生成构建规则,避免针对每个 .cpp 和 .o 重复写 g++ 命令( %.o: %.cpp )。 • 但坏处也很明显: 1. make 在 Unix 类系统上是通用的,但在 Windows 则不然。 2. 需要准确地指明每个项目之间的依赖关系,有头文件时特别头疼。 3. make 的语法非常简单,不像 shell 或 python 可以做很多判断等。 4. 不同的编译器有不同的 flag0 码力 | 32 页 | 11.40 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 15 C++ 系列课:字符与字符串\x1b’ ) • 127 表示 DEL 键(‘ \x7f’ )等 • 0~31 和 127 这些整数,就构成了 ASCII 码中控制字符的部分。 关于控制字符的一个冷知识 • 在 Linux 命令行中启动 cat 。 • 试试按 Ctrl+R , Ctrl+E , Ctrl+C 等一系列 组合键,看到出现了什么? • 可以看到显示的字符变成了 ^R ^E ^C 等… … • 这是 Unix 关于控制字符的一个冷知识 • 除此之外,因为 ^D 是“传输终止符”,还可以在控制 台输入 Ctrl+D 来关闭标准输入流,终止正在读取他 的程序。 • 小彭老师常用 Ctrl+D 来快速关闭一个 shell (和输入 exit 命令的效果一样)。 • 以及按 Ctrl+I 的效果其实和 Tab 键一样,按 Ctrl+J 的效果和 Enter 键一样,按 Ctrl+H 的效果和退格键 一样。 • 这是因为 ASCII wstring_view 。 u8“ 字符” s 会得到 u8string 。 实验代码( course/15/09/a.cpp ) 实验代码( course/15/09/b.cpp ) Linux 命令行实验 Linux 命令行实验 字符串应用实战(作业) 第 10 章 课后作业 • 输入是一个文本文件 a.txt : • 1 xxx • 4 yyyyyyy • 3 zzzz • 2 wwwww •0 码力 | 162 页 | 40.20 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 16 现代 CMake 模块化项目管理指南二、根项目的 CMakeLists.txt 配置 • 在根项目的 CMakeLists.txt 中,设置了默 认的构建模式,设置了统一的 C++ 版本 等各种选项。然后通过 project 命令初始 化了根项目。 • 随后通过 add_subdirectory 把两个子项 目 pybmain 和 biology 添加进来(顺序 无关紧要),这会调用 pybmain/CMakeLists include 命令。 • 你写 include(XXX) ,则他会在 CMAKE_MODULE_PATH 这个列表 中的所有路径下查找 XXX.cmake 这个文件。 • 这样你可以在 XXX.cmake 里写一些你常用的函数,宏,变量等。 十三、你知道吗? CMake 也有 include 功能 • 和 C/C++ 的 #include 一样, CMake 也有一个 include 命令。 • set(key val PARENT_SCOPE) 才能修改到外面的变量。 第二章:第三方库 / 依赖项配置 用 find_package 寻找系统中安装的第三方库并链接他们 find_package 命令 • 常用参数列表一览: • find_package([version] [EXACT] [QUIET] [CONFIG] [MODULE] • 0 码力 | 56 页 | 6.87 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南CMake 。 • 现代 CMake 和古代 CMake 相比,使用 更方便,功能更强大。 为什么要学习现代 CMake ? 现代 CMake : 古代 CMake : 第 0 章:命令行小技巧 传统的 CMake 软件构建 / 安装方式 • mkdir build • cd build • cmake .. • make -j4 • sudo make install --build build 统一了不同平台( Linux 上会调用 make , Windows 上调用 devenv.exe ) • 结论:从现在开始,如果在命令行操作 cmake ,请使用更方便的 -B 和 --build 命令。 // 在源码目录用 -B 直接创建 build 目录并生成 build/Makefile // 自动调用本地的构建系统在 build 里构建,即: make CMAKE_PROJECT_NAME :根项目的项目名 • 详见: https://cmake.org/cmake/help/latest/command/project.html 子模块里也可以用 project 命令,将当前目录作为一个独立的子项目 这样一来 PROJECT_SOURCE_DIR 就会是子模块的源码目录而不是外层了。 这时候 CMake 会认为这个子模块是个独立的项目,会额外做一些初始化。 他的构建目录0 码力 | 166 页 | 6.54 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 06 TBB 开启的并行编程之旅保证结果是准确的,同时不浪费太多时间 。 运行结果 刚才的 BENCHMARK_MAIN 自动生成了一个 main 函数 ,从而生成一个可执行文件供你运行。运行后会得到测试 的结果打印在终端上。 命令行参数 他还接受一些命令行参数来控制测试的输出格式为 csv 等等,你可以调用 --help 查看更多用法。 CMake 中使用: find_package CMake 中使用:作为子模块 这个什么“勾勾”公司非要默认开启0 码力 | 116 页 | 15.85 MB | 1 年前3
Hello 算法 1.0.0b4 C++版代码相比,编写代码的过程往往能带来更多收获。 Figure 0‑3. 运行代码示例 第一步:安装本地编程环境。请参照附录教程进行安装,如果已安装则可跳过此步骤。 第二步:下载代码仓。如果已经安装 Git ,可以通过以下命令克隆本仓库。 git clone https://github.com/krahets/hello-algo.git 当然,你也可以点击“Download ZIP”直接下载代码压缩包,然后在本地解压即可。 ,安装 Python Extension Pack 。 3.(可选)在命令行输入 pip install black ,安装代码格式化工具。 16.1.5. Go 环境 1. 下载并安装 go 。 2. 在 VSCode 的插件市场中搜索 go ,安装 Go 。 3. 快捷键 Ctrl + Shift + P 呼出命令栏,输入 go ,选择 Go: Install/Update Tools 展文章内容等,那么需要实施 Pull Request 工作流程: 1. 登录 GitHub ,将本仓库 Fork 到个人账号下。 2. 进入您的 Fork 仓库网页,使用 git clone 命令将仓库克隆至本地。 3. 在本地进行内容创作,并通过运行测试以验证代码的正确性。 4. 将本地所做更改 Commit ,然后 Push 至远程仓库。 5. 刷新仓库网页,点击“Create pull0 码力 | 343 页 | 27.39 MB | 1 年前3
Hello 算法 1.0.0b1 C++版写在前面 hello‑algo.com 5 Figure 0‑4. 运行代码示例 第一步:安装本地编程环境。参照附录教程,如果已有可直接跳过。 第二步:下载代码仓。如果已经安装 Git ,可以通过命令行来克隆代码仓。 git clone https://github.com/krahets/hello-algo.git 当然,你也可以点击“Download ZIP”直接下载代码压缩包,本地解压即可。 Extension Pack 。 12.1.5. Go 环境 1. 下载并安装 go 。 2. 在 VSCode 的插件市场中搜索 go ,安装 Go 。 3. 快捷键 Ctrl + Shift + P 呼出命令栏,输入 go ,选择 Go: Install/Update Tools ,全部勾选并安装即 可。 12.1.6. JavaScript 环境 1. 下载并安装 node.js 。 2. 在 访问本项目。 git clone https://github.com/krahets/hello-algo.git cd hello-algo docker-compose up -d 使用以下命令即可删除部署。 docker-compose down0 码力 | 187 页 | 14.71 MB | 1 年前3
Hello 算法 1.1.0 C++ 版运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。 第二步:克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库: git clone https://github.com/krahets/hello-algo.git 当然,你也可以在图 0‑4 所示的位置,点击“Download ZIP”按钮直接下载代码压缩包,然后在本地解压即 Miniconda3 ,需要 Python 3.10 或更新版本。 2. 在 VS Code 的插件市场中搜索 python ,安装 Python Extension Pack 。 3.(可选)在命令行输入 pip install black ,安装代码格式化工具。 2. C/C++ 环境 1. Windows 系统需要安装 MinGW(配置教程);MacOS 自带 Clang ,无须安装。 Studio(安装教程)。 5. Go 环境 1. 下载并安装 go 。 2. 在 VS Code 的插件市场中搜索 go ,安装 Go 。 3. 按快捷键 Ctrl + Shift + P 呼出命令栏,输入 go ,选择 Go: Install/Update Tools ,全部勾选并安 装即可。 6. Swift 环境 1. 下载并安装 Swift 。 2. 在 VS Code 的插件市场中搜索0 码力 | 379 页 | 18.47 MB | 1 年前3
Hello 算法 1.0.0b5 C++版图 0‑3 运行代码示例 运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录教程进行安装,如果已安装则可跳过此步骤。 第二步:下载代码仓。如果已经安装 Git ,可以通过以下命令克隆本仓库。 git clone https://github.com/krahets/hello-algo.git 当然,你也可以在图 0‑4 所示的位置,点击“Download ZIP”直接下载代码压缩包,然后在本地解压即可。 python ,安装 Python Extension Pack 。 3.(可选)在命令行输入 pip install black ,安装代码格式化工具。 5. Go 环境 1. 下载并安装 go 。 2. 在 VSCode 的插件市场中搜索 go ,安装 Go 。 3. 快捷键 Ctrl + Shift + P 呼出命令栏,输入 go ,选择 Go: Install/Update Tools ,全部勾选并安装 章内容等,那么需要实施以下 Pull Request 工作流程。 1. 登录 GitHub ,将本仓库 Fork 到个人账号下。 2. 进入您的 Fork 仓库网页,使用 git clone 命令将仓库克隆至本地。 3. 在本地进行内容创作,并进行完整测试,验证代码的正确性。 4. 将本地所做更改 Commit ,然后 Push 至远程仓库。 5. 刷新仓库网页,点击“Create pull0 码力 | 377 页 | 30.69 MB | 1 年前3
共 101 条
- 1
- 2
- 3
- 4
- 5
- 6
- 11













