- 博客(46)
- 收藏
- 关注
原创 [学习笔记] Windows编程——GDI——(五)坐标空间和变换
在六种预定义的映射模式中,一种是设备相关的( MM_TEXT ),其余五种( MM_HIENGLISH 、 MM_LOENGLISH 、 MM_HIMETRIC 、 MM_LOMETRIC 和 MM_TWIPS )是独立于设备的。默认的映射模式为 MM_TEXT。一个逻辑单位等于一个像素。x 在右边, y 在下面。此模式直接映射到设备的坐标系统。逻辑到物理映射只涉及 x 和 y 上的偏移量,该偏移量由应用程序控制的窗口和视口原点定义。视口和窗口范围都设置为 1 ,创建一个一对一的映射。
2025-03-16 14:22:49
542
原创 【学习笔记】Mastering CMake (二十一)—— IDE 集成指南
集成开发环境( IDE )可能希望与 CMake 集成,以改善 CMake 用户的开发体验。本文档列出了推荐的此类集成的最佳实践。
2024-10-30 21:41:52
531
原创 【学习笔记】Mastering CMake (二十)—— 导入导出指南
在本指南中,我们将介绍IMPPRTED目标的概念,并演示如何将现有的可执行文件或库文件从磁盘导入到 CMake 项目中。然后,我们将展示 CMake 如何支持从一个基于 CMake 的项目中导出目标并将它们导入到另一个项目中。最后,我们将演示如何用配置文件打包项目,以便轻松集成到其他 CMake 项目中。本指南和完整的示例源代码可以在 CMake 源代码树的 Help/guide/import -export 目录中找到。
2024-10-30 21:40:34
890
原创 【学习笔记】Mastering CMake (十九)—— 依赖使用指南
对于希望使用 CMake 来使用第三方二进制包的开发人员来说,有多种可能的最佳方式,这取决于 CMake 对第三方库的感知程度。与软件包一起提供的 CMake 文件包含查找每个构建依赖项的说明。有些构建依赖项是可选的,因为如果缺少依赖项,使用不同的特性集构建可能会成功,而有些依赖项是必需的。CMake 为每个依赖项搜索已知的位置,并且提供的软件可能会为 CMake 提供额外的提示或位置来查找每个依赖项。如果cmake没有找到所需的依赖项,则用包含 NOTFOUND 值的项填充缓存。
2024-10-30 21:39:15
711
原创 【学习笔记】Mastering CMake (十八)—— 用户界面指南
如果一个软件包提供了一个基于 CMake 的构建系统和他们的软件的源代码,软件的消费者需要运行一个 CMake 用户交互工具来构建它。行为良好的基于 CMake 的构建系统不会在源码目录中创建任何输出,因此通常情况下,用户执行源外构建并在那里(源外构建的位置)执行(程序的)构建。首先,必须指示 CMake 生成合适的构建系统,然后用户调用构建工具来处理生成的构建系统。生成的构建系统是特定于用于生成它的机器的,并且不可重新分发。
2024-10-30 21:37:25
694
原创 【学习笔记】Mastering CMake (十七)—— CMake 教程
CMake 教程提供了一个循序渐进的指南,涵盖了 CMake 帮助解决的常见构建系统问题。了解各种主题如何在示例项目中协同工作将非常有帮助。教程文档和示例源代码可以在 CMake 源代码树的 Help/guide/tutorial 目录中找到。每个步骤都有自己的子目录,其中包含可以用作起点的代码。本教程示例是渐进的,因此每一步都为前一步提供完整的解决方案。假设,出于本教程的目的,我们决定不使用平台的 log 和 exp 函数,而是希望生成一个预先计算值的表,以便在 mysqrt 函数中使用。
2024-10-30 21:31:59
836
原创 【学习笔记】Mastering CMake (十六)—— CDash
为 CDash 定义子项目,以便它知道如何正确地显示它们。使用 CTest 构建脚本来提交项目的子项目构建。对项目的 CMakeLists.txt 文件进行一些(重新)组织也可能是必要的,以便允许按子项目构建项目。有两种方法可以定义子项目及其依赖项:以项目管理员身份登录时在 CDash GUI 中交互地定义子项目,或者提交描述子项目和依赖项的 project .xml 文件。
2024-10-30 21:29:42
898
原创 【学习笔记】Mastering CMake (十五)—— 使用 CMake 和 CTest 进行测试
学习笔记,随时更新。如有谬误,欢迎指正。说明:红色字体。
2024-10-27 11:57:01
1242
原创 【学习笔记】Mastering CMake (十四)—— 使用 CPack 打包
为了避免转义问题,可以指定项目特定的 CPack 配置文件。此文件将在 CPackConfig.cmake 或 CPackSourceConfig.cmake 被加载后由 CPack 加载,并且将被设置为正在运行的 CPack 生成器。该文件中设置的变量只需要一级 CMake 转义。这个文件可以配置,也可以不配置,它包含常规的 CMake 代码。在上面的例子中,你可以将 CPACK_FOOBAR 移动到文件 MyCPackOptions.cmake.in 中,并将该文件配置到项目的构建树中。@ONLY)
2024-10-27 11:52:20
1326
原创 【学习笔记】Mastering CMake (十一)—— 自定义命令
通常,软件项目的构建过程不仅仅是简单地编译库和可执行程序。在许多情况下,在构建过程期间或之后可能需要额外的任务。常见的例子包括:使用文档包编译文档;通过运行另一个可执行文件生成源文件;使用 CMake 没有的工具(如 lex 和 yacc )生成文件;移动生成的可执行文件;后处理可执行文件等。CMake 使用和命令来支持这些附加任务。本章将描述如何使用自定义命令和目标来执行 CMake 本身不支持的复杂任务。在详细讨论如何使用自定义命令之前,我们将讨论如何处理它们的一些可移植性问题。
2024-10-27 11:46:30
941
原创 【学习笔记】Mastering CMake (三)—— 编写 CMakeLists 文件
marco和function命令支持可能分散在 CMakeLists 文件中的重复的任务。一旦一个宏或者函数被定义了,在它被定义之后,所有的 CMakeLists 的处理都可以使用它。CMake 中的函数非常像 C 或者 C++ 中的函数。你可以对它传参,并且传入的参数变成了函数内的变量。同样地,一些标准参数如 ARGC 、 ARGV 、 ARGN 和 ARG0 、 ARG1 等被定义出来。函数调用具有动态作用域。在函数里,你是在一个新的变量(作用)范围中,这非常像当你使用。
2024-10-27 11:30:09
1073
原创 [学习笔记] Windows编程——窗口和消息 ——(九)多文档接口(MDI)
前言:学习笔记,随时更新。如有谬误,欢迎指正。说明:红色字体为较为重要部分。绿色字体为个人理解部分。原文链接:https://learn.microsoft.com/en-us/windows/win32/winmsg/multiple-document-interface1 多文档接口( MDI )1.1 MDI 概述1.1.1 关于多文档接口1.1.1.1 框架窗口、客户端窗口和( MDI )子窗口MDI 应用程序有三种类型的窗口:框架窗口、MDI 客户端窗口以及许多 MD
2024-01-08 17:10:25
1027
原创 [学习笔记] Windows编程——窗口和消息 ——(八)Hook
Hook 是应用程序截获消息、鼠标操作和击键等事件的机制。截获特定类型的事件的函数称为Hook 程序。Hook 程序可以对其接收的每个事件执行操作,然后修改或放弃该事件。Hook 往往会降低系统速度,因为它们会增加系统必须对每条消息执行的处理量。应仅在必要时安装 Hook ,并尽快将其删除。
2023-12-12 21:03:52
1275
原创 [学习笔记] Windows编程——窗口和消息 ——(六)窗口属性
窗口属性是分配给窗口的任意数据。窗口属性通常是特定于窗口的数据的句柄,但实际上它可以是任何值。每个窗口属性都有一个字符串名称标识。
2023-12-11 20:16:46
494
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人