自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 GCC内存占用统计使用指南

GCC 的选项用于在编译链接过程中,特别适用于嵌入式开发等内存受限的场景。

2025-06-03 21:54:47 267

原创 嵌入式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

原创 CMake安装命令使用详解

开发者通过 CMakeLists.txt 中的。

2025-05-27 10:58:10 818

转载 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

原创 嵌入式预处理链接脚本lds和map文件

但通过预处理器的特性(如宏定义、条件编译、文件包含等)使得链接脚本更加灵活和可配置。

2025-05-25 22:44:49 98

原创 Git查看指定作者提交命令

通过上述命令,你可以高效地追踪特定作者的提交记录。如果需要更复杂的过滤,可以结合。要查看 Git 仓库中某个作者的提交记录,可以使用。:如何同时过滤作者和时间?或其他 Git 选项。:为什么命令没有结果?

2025-05-20 14:10:00 413

原创 CMake调试与详细输出选项解析

在使用 CMake 进行项目构建和编译时,

2025-05-18 21:30:18 368

转载 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

原创 clangd与clang-tidy

clangd

2025-05-10 23:56:42 913

原创 gcov代码覆盖率工具使用指南

通过。

2025-05-04 23:44:23 453

原创 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的关键变化

内容概要:本文介绍了C语言的发展历程及其不同版本(C89、C99 和 C11)之间的主要区别,详细解释了每个新标准引入的功能和改进,以及对程序员的影响。同时对比了C和C++的区别,并探讨了后者面向对象编程的概念。具体讲解了类、构造函数和析构函数的应用实例。文中特别提及了C11的新特性,如内存对齐控制、泛型宏、线程支持等,还展示了矩阵操作的具体例子以说明封装、继承和多态性的应用。 适用人群:熟悉C/C++语法的基础编程人员;希望深入了解C语言各标准差异的专业开发者。 使用场景及目标:为有经验但可能不了解最新标准化进展的技术人员提供全面指南;帮助初学者掌握从过程化到面向对象思维方式转变所需的知识;展示现代C程序如何利用最新的语言特性进行高效安全的设计。 其他说明:文档还附带了一个简单的矩阵类示例代码,用于演示一些重要的OOP概念和技术点。这有助于读者直观地理解和练习相关知识点。

2025-02-05

AppleNotificationCenterServiceSpecification.pdf

Apple Notification Center Service Specification

2021-08-28

The Apple Media Service.pdf

The Apple Media Service for BLE

2021-08-28

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除