自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(98)
  • 问答 (2)
  • 收藏
  • 关注

原创 `sshfs` 连接

要成功使用sshfs。

2025-07-18 08:00:42 168

原创 WSL2 离线安装流程

好的,下面是完整的 WSL2 离线安装流程,包括所需文件下载、传输、安装命令等内容。这个方案适用于不能联网的 Windows 10/11 设备,只要你有一台能上网的另一台电脑,就能完成。如果你需要,我可以打包一个包含这些内容的离线安装工具目录结构模板。把上述文件复制到你的离线 Windows 机器,比如 U 盘放到 D:\WSL2Offline。🔹 3. (可选)下载 App Installer 依赖组件(有些系统没装)🔸 2. 安装 Ubuntu 离线包(Appx)

2025-07-17 20:05:18 643

原创 错误 0x80370102排查

6. 如果还是失败,请 卸载 Ubuntu 后重装,或执行 wsl --unregister Ubuntu。4. 安装 Ubuntu 前运行 wsl --set-default-version 2;• 安卓模拟器(如 LDPlayer、BlueStacks)默认关闭 Hyper-V。• VirtualBox 版本较旧(需 ≥ 6.1.16 才兼容 Hyper-V)1. 确保 BIOS 中 VT 已开(特别是 VT-x + VT-d);• ✅ Hyper-V(如果你打算用 Hyper-V 同时运行虚拟机)

2025-07-17 19:41:44 251

原创 wsl 0x80370102

* 虚拟机监视器模式扩展: 是 * 固件中启用的虚拟化: 是 * 二级地址转换: 是 * 数据执行保护可用: 是 * 如果任何一项显示“否”,说明底层支持仍有问题(即使你确认 BIOS 开了 VT-x/AMD-V)。* 找到以下服务,确保它们的“启动类型”是“自动”,并且“状态”是“正在运行”: *(尤其是与“Hyper-V”、“虚拟化”、“安全更新”、“服务堆栈更新”相关的)。* 安装完成后,

2025-07-17 12:17:27 499

原创 Aerial大纲中只显示函数名

创建配置文件添加以下配置return {opts = {-- 关键配置:自定义符号显示格式-- 只返回函数名(最后一部分)-- 分割符号名(处理 :: 或 . 分隔符)endreturn parts[#parts] -- 返回最后一部分(函数名)end-- 其他类型保持原样end,-- 可选:忽略所有非函数符号include = {"function", "method"} -- 只显示函数和方法。

2025-07-17 07:46:55 116

原创 LazyVim 中关闭 Mason 安装的 clangd

在 LazyVim 中关闭 Mason 安装的 clangd 需要两步操作:禁用 LSP 服务和阻止 Mason 安装。

2025-07-17 07:37:48 236

原创 lazyvim恢复gt键

下面是一个完整的 LazyVim 键位配置 patch,将 gt / gT 恢复为 “切换标签页(tab page)” 的原始行为,同时保留原本 buffer 切换功能在其他键位上(比如 / )。我可以给你一个 lua/plugins/tabfix.lua 文件直接放进去。✅ 恢复 gt 为 Tab 切换:写入到 lua/config/keymaps.lua。或者直接重启 Neovim,即可恢复 gt/gT 原行为 🎉。– 恢复 gt / gT 为 Tab 页切换。✅ 保存并重启 Neovim。

2025-07-16 23:17:51 226

原创 离线环境中将现有的 WSL 1 升级到 WSL 2

在离线环境中将现有的 WSL 1 升级到 WSL 2 需要特殊处理。

2025-07-16 22:19:45 278

原创 neovim的文件结构

提示:使用 LazyVim 时,主要修改。下的文件,插件会自动安装到。

2025-07-16 07:58:33 305

原创 neovim clangd使用

### 🚨 常见问题排查| 问题现象 | 解决方案 ||---------------------------|-----------------------------------|| 头文件跳转失败 | 检查。只能基于默认配置解析代码,可能导致: - 头文件跳转失败 - 宏定义无法识别 - 条件编译代码误判2.,但该文件能显著提升准确性,尤其在复杂项目中。

2025-07-15 08:13:19 371

原创 深度学习主机配置方案

适合:部署 DeepSeek、训练/微调 LLaMA、Qwen、ChatGLM 等大模型,以及对抗训练、LoRA、推理任务。

2025-07-13 16:00:25 311

原创 deepseek台式机配置

好的!下面是为你精心打造的两套完整配置清单:基于 AMD 平台 + DDR5 + PCIe 5.0 + RTX 4080 Super / 4090D,适合深度学习、大模型部署、对抗学习等 AI 实验用途。⸻🚀 套餐一:高性价比专业实战版(搭配 RTX 4080 Super)💡 适合:学习大模型原理、部署 7B 模型、LoRA 微调、对抗训练等配件 型号推荐 说明 价格(参考)

2025-07-13 15:59:45 817

原创 win10 离线安装wsl

如需详细下载链接或具体发行版包名,请告知。

2025-07-13 08:06:18 361

原创 .gitignore

下面是适用于你这个使用 CMake 和 Makefile 构建系统的 C++ 项目的 .gitignore 文件,适用于排除编译产物、临时文件和系统杂项:⸻。

2025-07-12 09:58:21 310

原创 vscode配置头文件和编译器

### 关键参数说明| 参数 | 作用 | 示例 ||-------------|-------------------------------|-------------------------------||为实际路径 - 重启 VS Code 使配置生效—通过以上步骤,你的 VS Code 即可正确识别头文件并配置编译路径。:添加头文件目录(如标准库、第三方库路径)

2025-07-10 12:33:29 374

原创 clang 编译器怎么查看在编译过程中做了哪些优化

摘要:本文详细解析了C++表达式if(yy == xx.getValue())在编译器内部的语义分解过程。该过程可分解为四个步骤:1)调用getValue()获取临时对象;2)调用类型转换运算符operator Y()进行类型转换;3)调用operator==进行比较;4)根据比较结果执行条件语句。文章还介绍了两种分析编译器优化行为的方法:通过Clang的-Rpass选项查看优化报告,以及通过生成LLVM IR和AST来观察中间过程。最后提供了禁用优化选项的方法来完整保留临时变量的创建过程,便于深入研究编译

2025-07-06 16:57:54 498

原创 CMake是什么

CMake 是一个 跨平台的构建系统生成工具,它不直接构建(编译)你的代码,而是用来生成各种平台下的构建系统(如 Makefile、Visual Studio 工程文件、Xcode 工程等)。你写的 CMakeLists.txt +→ cmake → 生成构建系统 (Makefile / Ninja / .sln / Xcode)CMake 提供了一套 统一、跨平台、模块化、声明式 的语法,解决这些问题。构建工具(如 make、ninja、MSBuild)→ 编译/链接生成可执行文件或库。

2025-07-05 21:58:00 523

原创 json学习路线

• 示例项目:https://github.com/nlohmann/json/tree/develop/examples。// ========== 更多内容请参考官方文档:https://json.nlohmann.me ==========• m_type + m_value 是 basic_json 的底层结构(C++17 以前用手写 union)// 建议阅读 test/src/parse.cpp 和 test/src/operator.cpp。// 转成字符串(2 表示缩进)

2025-07-05 16:36:52 939

原创 nlohmann/json怎么使用

因为它是 header-only(不需要编译链接),只要你能 #include 到它,它就能用了。是的,✅ 最直接、简单的方式就是把 json.hpp 放进你的项目里使用。❗ 结论:是的,你需要把 json.hpp 拷贝进项目里或用包管理器引入。✅ 使用 nlohmann/json 的 3 种方式(推荐顺序)✅ 方式 2:放入 include/ 目录(适合大项目)✅ 方式 1:手动放入项目目录(最常用,适合所有项目)✅ 方式 3:用包管理器(适合用 CMake 的人)

2025-07-05 16:31:54 218

原创 C++项目学习计划

我会根据你这个需求,推荐几类适合学习的 C++ 项目,并说明为什么适合你学 C++,还附带一套“怎么学”指南**。modern-cpp-tutorial C++ 教程形式的代码库 C++11/14/17/20 各特性,标准写法。fmt std::format 的前身,C++ 字符串格式化神器 C++ 高效 API 设计。Catch2 现代 C++ 写的测试框架,代码简洁优雅 模板、RAII、DSL设计。json nlohmann 的 JSON 库,非常火 STL 容器封装、模板元编程。

2025-07-05 13:19:14 375

原创 vscode vim插件示例json意义

你贴的这段是 VSCode 的 settings.json 配置,针对 VSCodeVim 插件 做了定制,融合了 Vim 的高效操作与 VSCode 的现代体验。✅ 把 Vim 插件分配到独立的渲染线程(Affinity 1),避免卡顿(实验性设置,适合大型项目或老机器)。✅ 在插入模式中,连续输入 jj 会被映射为 (即退出插入模式),这是很多 Vim 用户喜欢的快速退出方式。• 兼容 Vim 操作,又保留 VSCode 原生快捷键(如 Ctrl+F)。搜索关键字后会持续高亮,直到你取消高亮。

2025-07-02 23:10:00 919

原创 使用sshfs+vscode 在windows远程开发centos6代码

这个需求是“典型的远程开发场景”,但因为 CentOS 6 很旧,不能用 VSCode Remote-SSH(它需要新版本 glibc),所以我们要用 兼容性强 + 开发体验好的替代方案。如果你愿意,我可以根据你的项目路径、用户名、服务器 IP,帮你生成挂载脚本、rsync 脚本和 VSCode 的 tasks 配置,全部一键可用。🥈 方案二:VSCode 本地开发 + 自动 rsync 同步(适合频繁构建)小项目(C/C++) VSCode + SSHFS + 本地编辑 + 远程构建。

2025-06-26 00:16:52 762

原创 lazyvim cpp dev config

vim.keymap.set(“n”, “ca”, “lua vim.lsp.buf.code_action()”, { desc = “代码操作” })vim.keymap.set(“n”, “ca”, “lua vim.lsp.buf.code_action()”, { desc = “代码操作” })vim.keymap.set(“n”, “”, “lua vim.lsp.buf.rename()”, { desc = “重命名变量” })”, desc = “代码大纲” },

2025-06-25 07:56:10 788

原创 LVM分配剩余空间给逻辑卷

你看到的 /dev/mapper/ubuntu–vg-ubuntu–lv 只有 30G,而你明明在 VMware Fusion 中配置了 64G 磁盘,这是因为你用了 LVM(逻辑卷管理器),而且 还没有把所有的磁盘空间分配给逻辑卷。如果你愿意,我可以根据你的 lsblk 输出或者 vgdisplay 输出,帮你写一个一键扩容脚本。└─ LV(Logical Volume:ubuntu-lv,当前仅用30G)步骤三:扩展文件系统大小(如果你用的是 ext4)🛠 解决方案:扩展逻辑卷并扩容文件系统。

2025-06-22 18:06:40 318

原创 extract_alarm_8.sh

你要的效果是:提取 setIntlkAlarm、createActionAlarm、acceptUnknown 节点的内容,并获取距离它最近的上一级父节点(即它被包裹的直接父节点),而不是随意更上层的祖先节点。⸻✅ 正确脚本(仅 Bash + awk + sed,不依赖第三方工具)这个版本专门修复了“上一级父节点不准确”的问题,用一个栈来追踪 XML 层级结构,始终记录当前的“直接父标签”。/bin/bash。

2025-06-18 08:01:36 358

原创 修改具有 `type=“instance“` 属性的节点及其结束标签,而不影响其子节点

您完全正确,我理解错了问题所在。让我提供正确的解决方案,只修改具有。

2025-06-17 16:32:35 338

原创 修改配对的节点名字

您指出了一个重要问题。之前的脚本只修改了开始标签,没有处理结束标签。让我提供一个完整的解决方案,同时修改开始标签和结束标签:完整解决方案说明修复的问题同时处理开始和结束标签:保留 XML 结构完整性:如果尚未安装 :示例演示输入 XML (input.xml):运行脚本:输出 XML:备选方案(无 xmlstarlet)如果无法安装 ,可以使用这个增强的 方案:注意事项XML 复杂性:备份建议:测试验证:自定义前缀:这个修正后的脚本会确保同时修改开始标签和结束标签

2025-06-17 16:04:50 288

原创 在 XML 节点名称前添加前缀

要查找 XML 文件中所有具有。

2025-06-17 15:53:51 303

原创 获取多个标签的内容,并与上一级节点的名字拼接

您提出了一个很好的需求扩展。我将修改脚本以处理多个类似的标签类型。

2025-06-17 15:29:47 391

原创 获取节点的内容,并与上一级节点的名字拼接

您指出的问题很关键。让我重新分析并修正脚本,确保父节点名称正确获取并组合到 KEY 中。问题在于 XML 结构中的嵌套关系和标签处理逻辑需要更精确的追踪。

2025-06-17 15:27:46 224

原创 提取节点中的内容

{base}.rc” # 输出文件名(如 Interlock_LA.rc)如你需要扩展支持多种标签名、自动检查字段数量、处理中文、导出 JSON 等,我也可以继续帮你改进。当然可以,下面我会逐行解释这个脚本的作用,方便你理解和之后自行修改。每个字段独占一行,符合你要求的输出结构,并在每组之间加入一个空行。• 输出文件名为原文件名加 .rc 后缀(无扩展名部分)遍历当前目录下所有 .xml 文件,逐个处理。在终端提示用户当前文件已经处理完。• 按格式输出成 .rc 文件。

2025-06-16 23:39:28 818

原创 Linuxkernel学习-deepseek-2

- eBPF 内核编程 - KVM 虚拟化原理 - 容器安全(cgroups/namespaces) -- 任务示例: - 编写字符设备驱动 - 提交内核补丁到邮件列表 -: - 12 个硬核实验(从系统调用到网络栈) - 视频 + 实验全开源 -| 资源 | 特点 | 链接 ||------|------|------||| 自制 OS 开发百科(含内核设计) || 深度技术分析(更新快) |

2025-06-11 20:29:48 1157 1

原创 Linux内核学习资料-deepseek

领域 | 关键技术点 | 学习资源 ||---------------|-------------------------------|-----------------------------||- 《Understanding the Linux Kernel》- 深入VFS、调度器 - 《Linux设备驱动程序》- O’Reilly经典(- 配套书籍《操作系统:原理与实现》(银杏书) -

2025-06-11 20:26:47 745

原创 TMEnIPPath类中Fit与GetPath方法详解

函数是路径生成的核心编码器,负责将CIP元素按协议规范打包到字节数组中。Attribute段处理。Instance段选择。由类型标识符低位决定。

2025-05-29 16:45:54 887

原创 基于socket的sendCmd和reciveRes

好的,以下是 C++98 标准下的实现,去掉了 C++11 的特性(如 std::string 的简洁构造、auto、nullptr、统一初始化等),并严格使用 std::string、传统循环和指针操作方式。1. 请求响应一一配对:sendCommand → recvResponse,双方严格同步,一个请求一个回复,不并发。如果你告诉我你使用的协议(有没有换行、有没有 ID、有没有固定长度等),我可以进一步为你定制。4. 前置长度字段:发送数据前写入长度(如 4 字节),接收时先读长度再读正文。

2025-05-29 07:36:24 211

原创 简单的makefile

创建一个简单的Makefile可以帮助你自动化编译过程,特别是在处理C或C++项目时。下面是一个基础的示例,展示了如何为一个简单的C项目编写Makefile。假设你有一个C项目,包含一个名为main.c的主程序文件,和一个名为math.c的辅助函数文件。你的项目结构可能看起来像这样:project/│├── main.c├── math.c└── MakefileMakefile 示例在你的项目目录中创建一个名为Makefile的文件,并输入以下内容:CC=gccCFLAGS=-I.LDFLAGS

2025-05-27 15:47:01 209

原创 tar+split分卷压缩

‌使用tar命令结合split工具通过管道操作是实现分卷压缩的核心方法‌。具体可通过两种方式实现:1. 先压缩再分卷的分步操作;-d使用数字后缀格式(生成filename_part00、filename_part01等)‌‌。直接生成分卷文件(filename_part00、filename_part01等)‌‌。管道同步操作 tar与split同步完成压缩分卷 高效率的大文件处理场景‌‌。-b 100M指定分卷大小为100MB。‌两种实现方式的对比:‌。‌管道同步操作(推荐)‌。‌分卷压缩核心方法‌。

2025-05-27 09:45:44 561

原创 C++ 定义一个结构体,用class还是struct

如果你不需要从该结构体派生其他类,并且希望成员变量默认是公开的,那么使用struct。如果你希望你的结构体中的成员变量默认就是公开的,并且你不需要从该结构体派生其他类,那么使用struct可能更合适。如果你希望你的结构体中的成员变量默认是私有的,或者你需要从这个结构体派生其他类,那么使用class可能更合适。继承方式:继承默认是private的,即派生类默认不能直接访问基类的所有成员,除非显式改变访问权限。默认访问权限:在class中,成员变量的默认访问权限是private。

2025-05-25 17:03:35 265

原创 Cloudflare Tunnel 实现远程访问树莓派的 SSH

要通过 Cloudflare Tunnel 实现远程访问树莓派的 SSH(22端口)服务,你可以使用 cloudflared 工具将树莓派的 SSH 暴露到一个 HTTPS 域名下,然后通过 Cloudflare Zero Trust 实现安全访问。如果你告诉我你的域名(如 example.com)和系统(Raspberry Pi OS / Ubuntu 等),我可以直接为你生成完整的配置文件和一键部署脚本。4. 绑定自己的域名(如 ssh.yourdomain.com)

2025-05-20 07:21:22 647

原创 cloudflare 树莓派一键部署脚本

非常好,下面是一个`,用于在树莓派上:• 安装并配置 Cloudflare Tunnel• 启用 systemd 自动运行 tunnel• 暴露多个本地服务(WebUI、SSH、NAS)⸻🧾 你将需要准备:1. 已注册的域名(在 Cloudflare 上管理)2. 已在树莓派中登录 Cloudflare(我们会自动处理)⸻🛠️ 脚本功能概览:子域 绑定服务 本地端口webui.example.com 树莓派的 Web 服务 localhost:8000。

2025-05-20 07:20:51 833

lazyvim-cpp-dev-pack.zip

lazyvim-cpp-dev-pack.zip

2025-06-25

lmc-1.2.39-win32安装包

lmc-1.2.39-win32安装包

2025-05-13

ipmsg5.7.3-installer安装包

ipmsg5.7.3-installer安装包

2025-05-13

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

TA关注的人

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