- 博客(572)
- 资源 (3)
- 问答 (3)
- 收藏
- 关注
原创 CMake中add_custom_target和add_custom_command用法详解
使用ALL需要每次构建时自动执行的任务(如代码生成、资源处理)。统一构建入口,简化用户操作(如编译、测试、打包一步完成)。强制某些任务作为构建流程的一部分(例如清理临时文件)。是 CMake 中用于在构建过程中添加自定义命令的工具。它通常用于生成文件或在构建特定目标前后执行操作。其行为和执行时机取决于具体使用场景。主要用法理解和**使用**当需要生成文件或添加构建步骤到现有目标时,它集成到CMake的依赖系统中**使用**当需要创建可单独执行的命名目标时,它提供手动调用的入口点结合使用。
2025-04-12 23:07:32
1500
原创 python print变量用法
多个变量之间用逗号分隔,打印时会自动以空格分隔开。函数打印完内容后会以换行符结尾。,两个单词之间没有换行。参数将输出打印到文件中。在 Python 中,参数来改变结尾字符。
2024-08-27 10:04:43
1254
原创 CMake构建系统
CMake是一种跨平台的构建系统,它用来管理软件的编译过程。CMake可以生成本地平台特定的构建文件,例如Makefile或者Microsoft Visual Studio项目文件,以便开发人员更轻松地在不同的平台上构建他们的项目。它的主要功能是配置和生成构建脚本,这些脚本可以在不同的编译器和操作系统上运行。
2024-06-16 16:34:33
1074
原创 Python开启Http Server
用 Python 部署了一个具有 FTP 功能的服务器,电脑在局域网内通过 FTP 下载想要传输的文件。
2023-07-09 21:34:23
3482
翻译 开源代码授权Licence说明
BSD开源协议BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。不可以用开源代码的作者/机构名字和
2021-04-07 23:46:04
2208
原创 git生成patch和打patch
在程序员的日常开发与合作过程中,对于code的生成patch和打patch(应用patch)成为经常需要做的事情。使用方法(直接给一些examples):1.生成patch1.1 git diff > xxx.patch#只想 patch Test.java 文件git diff Test.java > test.patch# 把所有的修改文件打成 patchgit diff > test.patch1.2.git format-patch$ git format-pa
2021-03-16 00:40:36
143060
4
原创 树莓派搭建kodexplorer
可道云kodexplorer是一款开源私有云系统,类似于owncloud,Dropbox、SkyDrive,seafile等。将可道云kodexplorer搭建在树莓派上,从而在树莓派上存储、管理家庭成员的各种照片,音乐,文档等各种文件,树莓派在家庭局域网中,可以保证上传和下载的速度,还支持在线播放网盘中的视频文件,同时,由于文件全部储存在树莓派中,可以保证数据的安全。这套源码试用于个人网盘,家庭私有云,企业私有云。一,更新树莓派系统sudo apt-get updatesudo apt-get
2020-10-24 16:17:24
900
原创 Python模块导入详解与最佳实践
选择合适的导入方式:根据场景选择或别名导入避免命名冲突:使用模块名前缀或别名区分同名标识符注意导入时机:顶层导入保证代码清晰,函数内导入优化性能处理循环导入:通过代码重构或在函数内导入解决利用包机制:使用组织大型项目掌握这些导入技巧和注意事项,将帮助你编写更清晰、可维护的Python代码,构建更加健壮的软件项目。包标识:将目录标记为Python包,使其可导入自动执行:在包被导入时自动运行初始化代码导入控制:通过__all__控制import *的行为接口简化。
2025-11-23 23:53:59
636
1
原创 Python中if __name__ == “__main__“的作用
不加模块被导入时会执行测试代码和初始化代码代码的可重用性降低可能出现意外的副作用模块既可以作为脚本直接运行也可以被其他模块安全导入提高了代码的模块化和可重用性在Python中,if这行代码用于检查当前模块是否被直接运行,而不是被导入到其他模块中。解释:每个Python模块(一个.py文件)都有一个内置的变量__name__。当模块被直接执行时,__name__的值被设置为"__main__"。当模块被导入到其他模块时,__name__的值则是模块的名字(即文件名,不带.py后缀)。
2025-11-23 23:06:15
300
原创 Python类型注解详解与应用
简单来说,类型注解是一种为变量、函数参数和返回值附加类型信息的语法。作为文档:让代码的读者(包括未来的你)一眼就能看出某个变量应该是什么类型。支持静态类型检查:配合工具(如 Mypy、PyCharm 的内置检查器),可以在运行代码前发现潜在的类型错误,将 Bug 扼杀在摇篮中。最重要的是,类型注解是完全可选的,Python 解释器在运行时不会因为这些注解而改变行为或进行类型验证。它只是一个强大的“提示”工具。优点:提高可读性:代码即文档。增强可维护性:在重构时更有信心。提前发现错误。
2025-11-22 23:07:56
611
原创 Python变量类型及用法详解
定义:有序、可变的元素序列# 使用方括号 []列表:你的首选有序容器,适合需要保持顺序和允许重复的场景字典:键值映射的最佳选择,提供快速的按键访问集合:去重和集合运算的利器,检查成员存在性的效率最高理解这三种数据结构的特性和适用场景,能够帮助你在编程时做出更合适的选择,写出更高效、更易维护的代码。在实际开发中,经常需要根据具体需求灵活运用这三种数据结构,有时甚至会组合使用它们来解决复杂问题。记住:没有"最好"的数据结构,只有"最适合"当前场景的数据结构!这行代码是用于。
2025-11-22 00:44:08
849
原创 嵌入式C语言中ether_aton_r接口详解
r特性描述功能将字符串格式的MAC地址转换为二进制的。核心用途作为人机接口与网络协议之间的数据转换桥梁。关键优势线程安全 (_r,适合多线程嵌入式环境。典型场景嵌入式Linux下的网卡MAC地址设置、原始套接字编程、网络协议处理等。在嵌入式网络开发中,是一个基础且非常重要的工具函数。
2025-11-18 16:34:18
267
原创 PyPI版本号重复发布问题解决指南
如果你尝试上传一个与已存在版本号相同的文件,通常会收到类似于“HTTP Error 400: File already exists”或“This filename has previously been used”的错误。不过别担心,虽然不能覆盖旧版本,但有非常明确的步骤可以帮你解决这个问题。
2025-11-17 12:19:11
367
原创 Chrome恢复关闭网页的快捷键
方法操作优点方法一(最佳)按(Win/Linux) 或(Mac)最快,可恢复多个方法二在标签栏右键 -> “重新打开关闭的标签页”直观,可用鼠标操作方法三点击菜单->历史记录-> 选择网页可查看更完整的历史记录即使你完全关闭了 Chrome 浏览器窗口,下次启动后,使用 Ctrl + Shift + T快捷键依然可以恢复你上一次浏览会话中关闭的所有网页。
2025-11-04 16:18:56
598
原创 Linux source命令详解与应用场景
特性(或执行环境当前Shell新的子Shell环境变量会影响当前Shell不会影响当前Shell目录更改会改变当前Shell的目录不会改变当前Shell的目录函数定义会在当前Shell中生效不会在当前Shell中生效脚本退出使用exit会关闭你的整个终端使用exit只会退出子Shell,终端没事所以,source是一个强大的工具,它让你能够将外部脚本的代码“注入”到当前的Shell会话中运行。加载环境变量只是这个强大功能的一个具体应用。
2025-11-04 15:40:04
935
原创 shell提示符
所以 PS1 中的 1 并不是随意选择的,而是 Shell 提示符编号系统中的第一个(也是最重要的)成员!PS1 是 Shell 提示符环境变量,它定义了命令行界面中显示的主提示符格式。这是一个很好的问题!PS1 中的 1 确实有其历史渊源和特定含义。· 历史惯例:早期 Unix Shell 设计时就采用了这种编号。· 生产/测试环境:用颜色区分不同环境(如红色表示生产)· 逻辑顺序:PS1 是最常用、最重要的提示符。· RPS1 - 右侧提示符(zsh 特有)· 多项目开发:快速识别当前项目环境。
2025-11-03 22:55:17
432
原创 Mac电脑解决sudo密码问题方法
将超时时间设置为 30-120 分钟,这样既方便又相对安全。选择哪种方法取决于你的安全需求和使用场景。:修改后立即生效,无需重启。对于大多数用户,我推荐使用。
2025-10-31 23:49:37
373
原创 Python相对导入用法详解
Python的import系统非常强大和灵活,正确使用它对于编写可维护的代码至关重要。优先使用绝对导入,它们更清晰明确遵循PEP8导入顺序,提高代码可读性避免循环导入,它们会导致难以调试的问题使用合适的错误处理,特别是对于可选依赖了解模块搜索路径,这在部署时很重要掌握这些导入技巧将帮助你构建更加模块化、可维护和Pythonic的代码库。
2025-10-28 00:19:19
703
原创 Linux命令解释:cp -r --parents用法
这个Linux命令组合用于复制所有名为"include"的文件/目录到目标位置,同时保持目录结构。
2025-10-27 23:35:46
324
原创 嵌入式开发中ln命令使用指南
特性硬链接符号链接命令Inode与源文件相同与源文件不同跨文件系统不支持支持链接目录不支持支持原文件删除仍可访问链接失效路径要求必须在同一文件系统绝对或相对路径均可,推荐绝对路径希望这个教程能帮助你更好地在嵌入式开发中使用ln命令!
2025-10-26 21:59:08
359
原创 memmove函数在嵌入式开发中的应用
特性memmovememcpy安全性高,保证重叠拷贝正确低,重叠拷贝行为未定义性能稍慢(因有额外检查)稍快(假设不重叠,可优化)使用场景通用、安全的内存拷贝确定内存不重叠时的高性能拷贝给嵌入式开发者的建议:当你不确定两块内存是否重叠时,无脑使用memmove。安全永远是第一位的。只有在你100%确定内存绝无重叠,并且性能是瓶颈时,才考虑使用memcpy。了解你使用的 C 库实现。有些高度优化的memcpy在某些架构上也能处理重叠情况,但这并非标准,不能依赖。总而言之,memmove。
2025-10-25 11:58:06
1314
原创 LLDB与GDB对比分析
特性GDBLLDB出身与生态GNU 项目的一部分,历史悠久,是 Unix/Linux 世界的标准。LLVM 项目的一部分,与 Clang 编译器紧密集成,是苹果官方工具链的核心。许可证GPLApache 2.0 with LLVM exceptions (更宽松)架构支持极其广泛,支持大量老旧和新兴的架构。主要支持主流架构,得益于 LLVM 后端,支持也在快速增长。默认平台Linux, 其他类 Unix 系统macOS, iOS, 其他 Apple 平台脚本扩展自带Python和Guile。
2025-10-24 15:34:30
1107
原创 网络授时与授时概念解析
授时,从字面上看,就是“授予时间”。它是一个科学和技术术语,指的是从一个高精度的时间基准,向需要时间的用户和设备传递、发送标准时间信息的过程。您可以把它想象成一个国家或一个系统在不断地“广播”:“现在是北京时间XX点XX分XX.XXX秒”。授时的核心要素:一个极其精确和稳定的时间源。这通常是协调世界时(UTC)。UTC由遍布全球的多个守时实验室(如中国科学院国家授时中心)的原子钟群共同维护和计算得出。原子钟是世界上最精确的计时工具,数百万年才可能误差1秒。将标准时间信号发送出去的方法。
2025-10-19 21:57:04
579
1
原创 Linux fg命令使用教程
fg是foreground的缩写,意为“前台”。它的主要作用是将在后台运行或暂停的作业切换到前台来继续运行。在理解fg之前,你需要先了解 Linux 的作业控制概念。前台作业:你当前正在终端中与之交互的作业。它会占用你的终端,在它结束之前,你无法在同一个终端中执行其他命令。后台作业:在后台运行的作业。它不会占用你的终端,你可以继续在终端中输入和执行其他命令。启动后台作业通常通过在命令末尾加上来实现。暂停的作业:一个正在前台运行的作业可以通过按Ctrl + Z。
2025-10-15 18:04:07
901
原创 Python性能分析工具cProfile与pstats
cProfile: 负责收集详细的性能数据pStats: 负责对收集的数据进行排序、过滤和展示优势: 标准库内置、使用简单、数据准确用途: 性能优化、瓶颈定位、代码调优这两个工具是 Python 开发者进行性能优化的必备利器!您提出的这种用法确实更优雅、更专业!👍 这是我实际工作中更推荐的写法。
2025-10-13 00:32:28
40
原创 VS Code文件监视排除设置详解
是一个性能优化设置。它的主要目的是通过避免监视那些大型、频繁变动但又不重要的文件夹,来显著降低 VS Code 的 CPU 和内存占用,从而提升编辑器的响应速度和整体使用体验。当你遇到 VS Code 在大型项目中变慢或收到文件监视警告时,首先就应该检查并配置这个选项。
2025-10-08 21:53:04
1543
C语言标准演化:C89、C99与C11的关键变化
2025-02-05
AppleNotificationCenterServiceSpecification.pdf
2021-08-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅