- 博客(396)
- 资源 (3)
- 问答 (3)
- 收藏
- 关注

原创 CMake中add_custom_target和add_custom_command用法详解
使用ALL需要每次构建时自动执行的任务(如代码生成、资源处理)。统一构建入口,简化用户操作(如编译、测试、打包一步完成)。强制某些任务作为构建流程的一部分(例如清理临时文件)。是 CMake 中用于在构建过程中添加自定义命令的工具。它通常用于生成文件或在构建特定目标前后执行操作。其行为和执行时机取决于具体使用场景。主要用法。
2025-04-12 23:07:32
1122

原创 python print变量用法
多个变量之间用逗号分隔,打印时会自动以空格分隔开。函数打印完内容后会以换行符结尾。,两个单词之间没有换行。参数将输出打印到文件中。在 Python 中,参数来改变结尾字符。
2024-08-27 10:04:43
1125

原创 CMake构建系统
CMake是一种跨平台的构建系统,它用来管理软件的编译过程。CMake可以生成本地平台特定的构建文件,例如Makefile或者Microsoft Visual Studio项目文件,以便开发人员更轻松地在不同的平台上构建他们的项目。它的主要功能是配置和生成构建脚本,这些脚本可以在不同的编译器和操作系统上运行。
2024-06-16 16:34:33
971

原创 Python开启Http Server
用 Python 部署了一个具有 FTP 功能的服务器,电脑在局域网内通过 FTP 下载想要传输的文件。
2023-07-09 21:34:23
3144

翻译 开源代码授权Licence说明
BSD开源协议BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。不可以用开源代码的作者/机构名字和
2021-04-07 23:46:04
2009

原创 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
130344
4

原创 树莓派搭建kodexplorer
可道云kodexplorer是一款开源私有云系统,类似于owncloud,Dropbox、SkyDrive,seafile等。将可道云kodexplorer搭建在树莓派上,从而在树莓派上存储、管理家庭成员的各种照片,音乐,文档等各种文件,树莓派在家庭局域网中,可以保证上传和下载的速度,还支持在线播放网盘中的视频文件,同时,由于文件全部储存在树莓派中,可以保证数据的安全。这套源码试用于个人网盘,家庭私有云,企业私有云。一,更新树莓派系统sudo apt-get updatesudo apt-get
2020-10-24 16:17:24
856
原创 Cat.1与Cat.4区别及应用场景
Cat.1 在物联网领域,特别是对成本和功耗敏感的应用中,已经成为非常主流的通信技术,完美填补了低速 NB-IoT/eMTC 和高速 Cat.4 及更高版本之间的空白。Cat.1 和 Cat.4 都是。,这直接影响了它们的。
2025-06-03 22:28:17
223
原创 嵌入式RTC工作原理及应用场景
RTC 是嵌入式系统中提供连续、可靠时间基准的基石。它依靠外部晶体产生精确振荡,通过分频和计数器链计算时间,并由独立的备用电源保证在主系统断电时持续工作。其应用场景覆盖了从简单的时间显示到复杂的系统调度和数据记录。实现一个稳定可靠的 RTC 功能,需要仔细处理其硬件依赖(晶体、电容、电池)并编写正确的驱动程序进行初始化和访问。
2025-05-31 23:30:22
1138
原创 Linux parted工具分区管理指南
parted是 Linux 下功能强大的磁盘分区工具,支持和分区表,适用于大容量磁盘(>2TB)。/dev/sda。
2025-05-30 18:09:37
448
原创 ADB推送文件到指定路径解析
ADB 严格按您输入的目标路径推送文件。不是 ADB 自动选择的,而是您通过命令显式指定的路径。此目录因易访问、无需 root 被广泛使用,但您可自由修改路径(如/sdcard/或这个问题触及 Android 存储系统的核心设计逻辑。路径的命名源于历史兼容性和多用户架构它是设备主用户(ID=0)在模拟存储层(emulated)中的下载目录,物理存储在下,通过 FUSE/sdcardfs 技术提供兼容性访问。此设计平衡了历史兼容多用户支持权限控制和存储加密。
2025-05-29 14:03:43
597
转载 Ubuntu22.04 beyond compare 4破解
3.此时BCompare文件已被破解,打开软件会提示“Trial Mode Error!”表示成功,输入下面TEAM ZWT生成的密钥即可注册成功。Linux系统:ubuntu 22.04。
2025-05-26 09:32:20
61
原创 ELF文件的作用详解
节中可能包含硬编码的字符串(如日志信息、密钥)。如果有更多具体场景,欢迎进一步提问!GDB会直接显示崩溃位置(需编译时加。调试信息中可能包含优化级别(如。节可能包含编译器版本信息。
2025-05-25 23:48:58
542
原创 Git查看指定作者提交命令
通过上述命令,你可以高效地追踪特定作者的提交记录。如果需要更复杂的过滤,可以结合。要查看 Git 仓库中某个作者的提交记录,可以使用。:如何同时过滤作者和时间?或其他 Git 选项。:为什么命令没有结果?
2025-05-20 14:10:00
413
转载 TLDR 页:Linux 手册页的简化替代品
如果你使用的是 Debian、Ubuntu 或 Ubuntu 衍生发行版以外的操作系统,你可以根据自己的情况使用yum、dnf 或 pacman包管理器。最成熟的 TLDR 客户端是基于 Node.js 的,你可以使用 NPM 包管理器轻松安装它。一旦安装了此终端实用程序,最好在尝试之前更新其缓存。
2025-05-17 23:36:45
41
原创 Makefile变量冲突与包含关系解析
命令执行目录典型场景make当前目录单层项目,直接构建当前代码。指定目录多层项目,递归构建子目录中的代码。
2025-05-17 14:14:05
1030
原创 定点数分解宏LOAD_INT和LOAD_FRAC解析
LOAD_INT和LOAD_FRAC是用于将分解为整数部分和小数部分的宏,常用于系统负载(如uptime命令)的计算中。FIXED_11.0FSHIFT=8xFSHIFTx100假设FSHIFT = 8(即FSHIFTFSHIFT3001.17FSHIFTFSHIFT4481.755122.001.75448LOAD_FRAC0.75 → 751.75在uptime命令中,系统负载可能存储为定点数(如LOAD_AVG你提到的这个问题涉及和的核心考量。直接显示原始值(如512。
2025-05-15 10:19:09
989
原创 Git .gitattributes 文件用途详解
告诉 Git 某些文件是二进制(如图片、压缩包),避免 Git 误将其视为文本文件进行差异比较(diff)或合并(merge)。指定文件编码,确保 Git 正确处理字符集。两者分工明确,共同保障 Git 的高效协作和个性化体验。,但功能更广泛,可以精细化管理文件在版本控制中的行为。定义某些文件在合并冲突时的默认行为。是 Git 版本控制系统中的一个配置文件,用于定义。,可以显著减少因文件格式、合并冲突等引起的协作问题。,从而控制 Git 如何处理这些文件。可以强制统一换行符,避免跨平台协作时的混乱。
2025-05-15 09:39:44
770
原创 CMake CMAKE_COMMAND变量使用说明
在CMake中,是一个内置变量,其值为。这个变量通常用于在构建过程中重新调用CMake自身(例如重新生成构建系统)。
2025-05-13 18:31:07
277
原创 http断点续传
方式是否支持断点续传推荐度❌ 不稳定或不支持🚫 不推荐nginx本地测试✅ 稳定支持✅ 强烈推荐python第三方库可能支持⚠️ 可选,略麻烦项目是否必须说明curl 工具 / libcurl✅ 是用于发起带Range的请求额外依赖❌ 否curl已经集成所有功能服务端支持 Range 请求✅ 是否则无法续传,只会从头开始服务端响应 206 Partial Content✅ 是表示从断点处返回数据好的,以下是Bash和Python。
2025-05-13 11:21:59
1094
原创 Wi-Fi网络角色及功能详解
简单来说,Wi-Fi 里的 Soft AP 就是通过软件让你的手机、电脑等设备临时变身成一个“迷你无线路由器”。它的主要目的是方便地共享该设备现有的网络连接(如手机流量、电脑的有线网络)给其他无线设备使用,或者创建一个临时的无线局域网。它是现代设备中一项非常实用和灵活的功能。下次你使用手机开热点给电脑上网时,你就知道你的手机正在扮演一个 Soft AP 的角色啦!😉 如果你对具体某个设备上的设置感兴趣,也可以问我。
2025-05-12 21:41:23
989
原创 profile软件开发中的性能剖析与内存分析
在软件开发中,“Profile”(性能剖析/性能分析)指的是通过工具,帮助开发者定位代码中的效率瓶颈或资源问题。当有人建议你 “profile 一下内存问题” 时,本质上是让你,找出具体哪里存在内存泄漏、内存碎片或异常占用。
2025-05-04 22:59:08
422
原创 patch命令在代码管理中的应用
的工具,常用于修复 bug、添加功能或调整代码结构。实际使用时,观察补丁文件中的路径层级和目标代码的位置关系即可快速判断。这是管理第三方依赖时常见的自定义代码行为的方法。库后自动修改其源代码。每个补丁文件对应一个代码变更,通过。,直接关系到补丁能否正确应用到目标文件。在示例中,补丁文件路径是直接相对于。文件会描述两个文件的差异。命令通过一系列补丁文件(此时需要决定是否剥离。
2025-05-02 19:39:09
1013
原创 CMake separate_arguments用法详解
是 CMake 中用于将字符串分割成参数列表的命令,适用于处理包含空格的参数或复杂命令行参数。
2025-05-02 17:27:33
397
原创 CMake管理外部依赖的模块
是“轻量级依赖管理”,适合简单集成。是“重型构建工具”,适合完全控制外部项目流程。根据依赖项的性质(是否需要编译、是否需修改代码)和项目需求(是否需要隔离构建环境)选择合适工具。
2025-05-01 23:18:15
1093
原创 C标准库(libc)接口及示例解析
libc(C标准库)是C语言程序的核心运行时库,提供了操作系统底层功能的封装和基础函数。它的“接口”指的是库向开发者暴露的、可直接调用的函数和API。不同操作系统的实现可能不同(如Linux的glibc、macOS的libSystem、Windows的CRT),但核心功能遵循C标准(如C11/C17)。
2025-05-01 20:01:36
543
原创 CMake中强制启用option定义变量的方法
在CMake中,若要在另一个CMake文件中强制启用由。通过上述方法,即可在任意CMake文件中强制启用由。在需要强制启用选项的CMake文件中,使用。调用前),以确保覆盖生效。,覆盖之前的任何值。
2025-05-01 16:01:22
539
原创 CMake解析参数用法示例
在简单的示例中,宏的变量作用域规则(直接修改父作用域)可以让代码更简洁,不需要额外处理变量传递。但实际项目中,**函数(function)**通常是更安全的选择,因为它能隔离作用域,避免变量污染。是 CMake 中用于解析函数或宏参数的工具,特别适合处理带有选项(函数不会意外覆盖父作用域的变量(例如,如果父作用域中已经有一个。在函数中的行为需要更谨慎的作用域处理,而宏的行为更“直接”。的函数,目的是封装一个通用的参数解析工具。变量,宏可能会直接修改它,而函数不会)。,同时说明为何在之前的回答中选择了宏。
2025-04-30 23:32:48
1749
原创 Git分支重命名与推送参数解析
M-Mmastermaster-Mmainmaster-u-ugit pushgit pull-u-M-u你提到的这个问题非常重要,且涉及潜在的数据风险。mastermastermastermastermastergit reflog当你执行mastermastermainmastermastermainmastermastermastergit reflogmastermastermastermastermain-M只修改分支名,不影响内容?❌ 错误!它会直接删除旧分支,用当前分支覆盖。
2025-04-27 00:09:58
1031
原创 CMake打印GCC和G++版本方法
是的,不管是什么编译器,CMAKE_C_COMPILER_VERSION和CMAKE_CXX_COMPILER_VERSION应该都代表对应的版本号,不管编译器是GCC、Clang还是MSVC。比如,在CMake的文档里,变量部分可能提到这些变量。假设是的,那变量名应该是CMAKE_C_COMPILER_VERSION和CMAKE_CXX_COMPILER_VERSION。另外,除了版本变量,可能还想输出编译器的路径,可以用CMAKE_C_COMPILER和CMAKE_CXX_COMPILER变量。
2025-04-26 12:44:41
585
原创 CMake ctest
修改// 测试加法// 测试减法return 0;核心步骤在中注册测试 (add_test通过ctest命令运行测试。关键选项-j(并行)、-R(过滤)、(重试失败)。扩展性:支持自定义测试逻辑和第三方框架。现在可以尝试在自己的项目中添加测试,体验自动化测试的便利性!好的!和add_test()是 CMake 中测试功能的核心命令,下面我会详细解释它们的用法,并结合具体示例说明。:必须调用,通常在的顶层。add_test():注册测试,核心是定义NAME和COMMAND。
2025-04-25 19:43:00
1048
原创 CMake execute_process用法详解
是 CMake 中的一个命令,用于在(即运行cmake命令时)执行外部进程。它与或不同,后者是在构建阶段(如make或ninja)执行命令。通常用于获取系统信息、生成代码或处理依赖项。
2025-04-21 23:18:52
883
原创 脚本中**通配符用法解析
场景起始路径示例.gitignore项目根目录Shell 相对路径当前工作目录Shell 绝对路径系统根目录Pythonpathlib取决于Path()起点如果仍有疑问,可以告诉我你的具体使用场景(如命令行、脚本、.gitignore等),我可以给出针对性示例!
2025-04-20 16:03:28
791
原创 C99 inline函数编译错误解析
/ 头文件(.h)inline void f() { /* 内联定义 */ }// 某个源文件(.c)// 声明外部符号void f() { /* 外部定义 */ }适用场景:函数需跨多个文件使用。对于你的简单示例,最佳解决方法是添加static修饰符,即改为。这明确限定了函数作用域,避免链接问题,且符合C99标准。当开启优化时,GCC自动内联函数;未优化时,生成静态本地符号,确保链接器能找到定义。好的!我试着用更简单的方式重新梳理这个问题的核心逻辑。基本概念→问题现场分析→解决方案原理。
2025-04-20 15:34:21
848
C语言标准演化:C89、C99与C11的关键变化
2025-02-05
AppleNotificationCenterServiceSpecification.pdf
2021-08-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人