摘要: 本文详细介绍了如何构建 Python 项目的轮子文件(.whl),以便于项目的分发和安装。首先,建议采用清晰的项目目录结构,包括源代码、动态链接库、模型文件、文档等。接着,说明了如何安装必要的工具(如 setuptools 和 wheel),并创建 setup.py 文件以定义项目的元数据和打包配置。文中提供了一个完整的 setup.py 模板,展示了如何将资源文件(如动态链接库、模型文件等)打包到轮子文件中,并在打包完成后清理临时文件。最后,介绍了如何通过 setup.py 构建轮子文件,并使用 pip 安装生成的 .whl 文件。 阅读全文
posted @ 2025-05-25 18:37 dreamy-xay 阅读(25) 评论(0) 推荐(0)
摘要: Windows下Doxygen的配置与使用 本文介绍了在 Windows 系统下安装和使用 Doxygen 的详细步骤。首先,介绍了与 Doxygen 使用相关的两个重要工具:Graphviz(用于生成图表)和 HTML Help WorkShop(用于生成 CHM 文档)。接着,说明了如何下载和安装 Doxygen、Graphviz 和 HTML Help WorkShop,并强调了安装路径关联的重要性。文章详细介绍了通过 Doxywizard 图形界面进行配置的步骤,包括填写项目设置、调整文档选项、配置输出类型和图表生成选项、调整高级设置等。最后,说明了如何运行 Doxygen 生成文档,并查看生成的 HTML、LaTeX 等格式的文档。 阅读全文
posted @ 2025-05-24 18:12 dreamy-xay 阅读(1528) 评论(0) 推荐(1)
摘要: Doxygen 常用文档规范指南 本文介绍了如何使用 Doxygen 生成高质量的代码文档。Doxygen 是一种支持多种编程语言的文档生成工具,能够从注释过的源代码中提取文档,并生成 HTML、LaTeX、PDF 等多种格式的输出。文中详细说明了注释风格(包括文件、类、函数、变量注释)、特殊标记(如文本格式化、链接、代码段、分组等)的使用方法,以及如何通过分组和模块化提升文档的可读性和维护性。此外,还列举了常用的 Doxygen 标记及其功能,帮助开发者更好地组织和管理代码文档。 阅读全文
posted @ 2025-05-22 02:31 dreamy-xay 阅读(810) 评论(0) 推荐(1)
摘要: Cpp STL 中 push_back 和 emplace_back 的区别 push_back() 和 emplace_back() 的区别在于底层实现机制:push_back() 先创建元素,再将其拷贝或移动到容器中,而 emplace_back() 直接在容器尾部创建元素,省去了拷贝或移动过程,因此更高效。测试代码表明,push_back() 需要构造临时对象并调用移动或拷贝构造函数,而 emplace_back() 直接在容器末尾调用构造函数创建元素。在插入一千万个对象的测试中,push_back() 耗时 5718 毫秒,而 emplace_back() 耗时 3955 毫秒,效率提升约 44.58%。此外,类似 list、set、map 等容器也存在 insert() 和 emplace() 的区分。 阅读全文
posted @ 2025-05-21 10:26 dreamy-xay 阅读(582) 评论(0) 推荐(1)
摘要: 本文介绍了在 Linux 系统下安装和使用 Doxygen 的方法。首先说明了如何通过包管理器在不同 Linux 发行版(如 Fedora、Ubuntu、Manjaro 等)上安装 Doxygen 及其 GUI 界面(如果支持),并强调了安装 Graphviz 的必要性以生成函数调用关系图。接着,文章详细介绍了如何生成和配置 Doxygen 的配置文件 Doxyfile,包括设置项目名称、输出目录、源代码路径、文档语言、是否提取私有成员等关键配置项。最后,说明了如何运行 Doxygen 生成文档,以及如何查看生成的 HTML、LaTeX、RTF、XML 和 DocBook 格式的文档。 阅读全文
posted @ 2025-05-20 13:30 dreamy-xay 阅读(439) 评论(0) 推荐(0)
摘要: MarkDown数学公式语法 本文介绍了Markdown中数学公式的语法,包括行内式和行间式的使用方法,上下标、括号、省略号、空格、箭头符号、关系符号、集合符号、矢量符号、三角形符号、希腊字母、数学符号、注音和标注符号、分数、根式、对数、因果关系、极限、求和与累积、求导、微积分、矩阵、方程组、长公式布局、公式组布局、数学字体等的表示方式。文中通过具体的代码示例和效果展示,详细说明了如何在Markdown中实现各种数学符号和公式的排版,帮助用户在文档中准确表达数学内容。 阅读全文
posted @ 2025-05-19 21:31 dreamy-xay 阅读(1067) 评论(0) 推荐(0)
摘要: 大整型 (BigInteger) 类实现:原生高效高精度运算 众所周知,数与数进行运算时,当两个数位数过大,我们的程序就会出错。所以我们就出现了高精度运算,本类的本质原理是采用无符号短整形数组存储数的每一位(采用char数组存取可优化空间复杂度,但处理过程麻烦)进行一些基本的高精度运算,部分优化实现参考了STL部分容器底层操作,但本类没有使用除string之外 阅读全文
posted @ 2021-01-16 18:29 dreamy-xay 阅读(999) 评论(0) 推荐(3)
摘要: 二分查找真的很简单吗?并不简单。看看 Knuth 大佬(发明 KMP 算法的那位)怎么说的:Although the basic idea of binary search is comparatively straightforward, the details can be surprisingly tricky... 这句话可以这样理解:思路很简单,细节是魔鬼。 阅读全文
posted @ 2021-01-03 10:58 dreamy-xay 阅读(276) 评论(0) 推荐(0)
摘要: 滑动窗口算法是在给定特定窗口大小的数组或字符串上执行要求的操作。该技术可以将一部分问题中的嵌套循环转变为一个单循环,因此它可以减少时间复杂度。 阅读全文
posted @ 2021-01-02 10:26 dreamy-xay 阅读(2499) 评论(0) 推荐(0)
摘要: 根据中序后序序列建树,先从后序序列中去挑选根节点存入树中,再遍历中序序列找到根节点,根据找到的根节点位置去划分出左右子树。关键就是如何找到每次的根节点,以及如何确定出中序序列的遍历范围。 阅读全文
posted @ 2020-11-30 16:21 dreamy-xay 阅读(798) 评论(0) 推荐(0)