- 博客(92)
- 问答 (2)
- 收藏
- 关注
原创 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
67
原创 neovim clangd使用
### 🚨 常见问题排查| 问题现象 | 解决方案 ||---------------------------|-----------------------------------|| 头文件跳转失败 | 检查。只能基于默认配置解析代码,可能导致: - 头文件跳转失败 - 宏定义无法识别 - 条件编译代码误判2.,但该文件能显著提升准确性,尤其在复杂项目中。
2025-07-15 08:13:19
258
原创 深度学习主机配置方案
适合:部署 DeepSeek、训练/微调 LLaMA、Qwen、ChatGLM 等大模型,以及对抗训练、LoRA、推理任务。
2025-07-13 16:00:25
298
原创 deepseek台式机配置
好的!下面是为你精心打造的两套完整配置清单:基于 AMD 平台 + DDR5 + PCIe 5.0 + RTX 4080 Super / 4090D,适合深度学习、大模型部署、对抗学习等 AI 实验用途。⸻🚀 套餐一:高性价比专业实战版(搭配 RTX 4080 Super)💡 适合:学习大模型原理、部署 7B 模型、LoRA 微调、对抗训练等配件 型号推荐 说明 价格(参考)
2025-07-13 15:59:45
801
原创 .gitignore
下面是适用于你这个使用 CMake 和 Makefile 构建系统的 C++ 项目的 .gitignore 文件,适用于排除编译产物、临时文件和系统杂项:⸻。
2025-07-12 09:58:21
307
原创 vscode配置头文件和编译器
### 关键参数说明| 参数 | 作用 | 示例 ||-------------|-------------------------------|-------------------------------||为实际路径 - 重启 VS Code 使配置生效—通过以上步骤,你的 VS Code 即可正确识别头文件并配置编译路径。:添加头文件目录(如标准库、第三方库路径)
2025-07-10 12:33:29
352
原创 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
497
原创 CMake是什么
CMake 是一个 跨平台的构建系统生成工具,它不直接构建(编译)你的代码,而是用来生成各种平台下的构建系统(如 Makefile、Visual Studio 工程文件、Xcode 工程等)。你写的 CMakeLists.txt +→ cmake → 生成构建系统 (Makefile / Ninja / .sln / Xcode)CMake 提供了一套 统一、跨平台、模块化、声明式 的语法,解决这些问题。构建工具(如 make、ninja、MSBuild)→ 编译/链接生成可执行文件或库。
2025-07-05 21:58:00
516
原创 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
937
原创 nlohmann/json怎么使用
因为它是 header-only(不需要编译链接),只要你能 #include 到它,它就能用了。是的,✅ 最直接、简单的方式就是把 json.hpp 放进你的项目里使用。❗ 结论:是的,你需要把 json.hpp 拷贝进项目里或用包管理器引入。✅ 使用 nlohmann/json 的 3 种方式(推荐顺序)✅ 方式 2:放入 include/ 目录(适合大项目)✅ 方式 1:手动放入项目目录(最常用,适合所有项目)✅ 方式 3:用包管理器(适合用 CMake 的人)
2025-07-05 16:31:54
215
原创 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
373
原创 vscode vim插件示例json意义
你贴的这段是 VSCode 的 settings.json 配置,针对 VSCodeVim 插件 做了定制,融合了 Vim 的高效操作与 VSCode 的现代体验。✅ 把 Vim 插件分配到独立的渲染线程(Affinity 1),避免卡顿(实验性设置,适合大型项目或老机器)。✅ 在插入模式中,连续输入 jj 会被映射为 (即退出插入模式),这是很多 Vim 用户喜欢的快速退出方式。• 兼容 Vim 操作,又保留 VSCode 原生快捷键(如 Ctrl+F)。搜索关键字后会持续高亮,直到你取消高亮。
2025-07-02 23:10:00
916
原创 使用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
760
原创 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
782
原创 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
310
原创 extract_alarm_8.sh
你要的效果是:提取 setIntlkAlarm、createActionAlarm、acceptUnknown 节点的内容,并获取距离它最近的上一级父节点(即它被包裹的直接父节点),而不是随意更上层的祖先节点。⸻✅ 正确脚本(仅 Bash + awk + sed,不依赖第三方工具)这个版本专门修复了“上一级父节点不准确”的问题,用一个栈来追踪 XML 层级结构,始终记录当前的“直接父标签”。/bin/bash。
2025-06-18 08:01:36
357
原创 修改具有 `type=“instance“` 属性的节点及其结束标签,而不影响其子节点
您完全正确,我理解错了问题所在。让我提供正确的解决方案,只修改具有。
2025-06-17 16:32:35
338
原创 修改配对的节点名字
您指出了一个重要问题。之前的脚本只修改了开始标签,没有处理结束标签。让我提供一个完整的解决方案,同时修改开始标签和结束标签:完整解决方案说明修复的问题同时处理开始和结束标签:保留 XML 结构完整性:如果尚未安装 :示例演示输入 XML (input.xml):运行脚本:输出 XML:备选方案(无 xmlstarlet)如果无法安装 ,可以使用这个增强的 方案:注意事项XML 复杂性:备份建议:测试验证:自定义前缀:这个修正后的脚本会确保同时修改开始标签和结束标签
2025-06-17 16:04:50
288
原创 获取节点的内容,并与上一级节点的名字拼接
您指出的问题很关键。让我重新分析并修正脚本,确保父节点名称正确获取并组合到 KEY 中。问题在于 XML 结构中的嵌套关系和标签处理逻辑需要更精确的追踪。
2025-06-17 15:27:46
224
原创 提取节点中的内容
{base}.rc” # 输出文件名(如 Interlock_LA.rc)如你需要扩展支持多种标签名、自动检查字段数量、处理中文、导出 JSON 等,我也可以继续帮你改进。当然可以,下面我会逐行解释这个脚本的作用,方便你理解和之后自行修改。每个字段独占一行,符合你要求的输出结构,并在每组之间加入一个空行。• 输出文件名为原文件名加 .rc 后缀(无扩展名部分)遍历当前目录下所有 .xml 文件,逐个处理。在终端提示用户当前文件已经处理完。• 按格式输出成 .rc 文件。
2025-06-16 23:39:28
817
原创 Linuxkernel学习-deepseek-2
- eBPF 内核编程 - KVM 虚拟化原理 - 容器安全(cgroups/namespaces) -- 任务示例: - 编写字符设备驱动 - 提交内核补丁到邮件列表 -: - 12 个硬核实验(从系统调用到网络栈) - 视频 + 实验全开源 -| 资源 | 特点 | 链接 ||------|------|------||| 自制 OS 开发百科(含内核设计) || 深度技术分析(更新快) |
2025-06-11 20:29:48
1156
1
原创 Linux内核学习资料-deepseek
领域 | 关键技术点 | 学习资源 ||---------------|-------------------------------|-----------------------------||- 《Understanding the Linux Kernel》- 深入VFS、调度器 - 《Linux设备驱动程序》- O’Reilly经典(- 配套书籍《操作系统:原理与实现》(银杏书) -
2025-06-11 20:26:47
741
原创 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
210
原创 简单的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
208
原创 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
553
原创 C++ 定义一个结构体,用class还是struct
如果你不需要从该结构体派生其他类,并且希望成员变量默认是公开的,那么使用struct。如果你希望你的结构体中的成员变量默认就是公开的,并且你不需要从该结构体派生其他类,那么使用struct可能更合适。如果你希望你的结构体中的成员变量默认是私有的,或者你需要从这个结构体派生其他类,那么使用class可能更合适。继承方式:继承默认是private的,即派生类默认不能直接访问基类的所有成员,除非显式改变访问权限。默认访问权限:在class中,成员变量的默认访问权限是private。
2025-05-25 17:03:35
264
原创 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
632
原创 cloudflare 树莓派一键部署脚本
非常好,下面是一个`,用于在树莓派上:• 安装并配置 Cloudflare Tunnel• 启用 systemd 自动运行 tunnel• 暴露多个本地服务(WebUI、SSH、NAS)⸻🧾 你将需要准备:1. 已注册的域名(在 Cloudflare 上管理)2. 已在树莓派中登录 Cloudflare(我们会自动处理)⸻🛠️ 脚本功能概览:子域 绑定服务 本地端口webui.example.com 树莓派的 Web 服务 localhost:8000。
2025-05-20 07:20:51
829
原创 扫描网络内所有设备的IP地址
arp 命令本身不能直接列出网络中所有 IP 地址,它只能显示本机 ARP 缓存中已知的 IP-MAC 映射,即:本机通信过的设备。如果你想查询局域网中所有在线的 IP 地址,需要配合 ping 扫描或使用更强大的工具。以下是几种常见的方法:⸻✅ 方法一:使用 arp -a + ping 扫描整个网段(适合 Linux/macOS/Windows)
2025-05-19 21:47:43
969
原创 树莓派(Raspberry Pi)中切换为国内的软件源
在树莓派(Raspberry Pi)中切换为国内的软件源(例如中科大、清华等)可以显著提升 apt 安装与更新速度。apt-key 导入公钥 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 9165938D90FDDD2E。如果你使用的是较新的系统(例如 bookworm 或之后),apt-key 已不推荐使用。这个错误是因为你添加的清华源(或其他源)缺少对应的 GPG 公钥,APT 无法验证该源的签名,因此默认禁用。
2025-05-19 21:42:32
1377
原创 centos6.10 qemu图形化安装
好!我们直接安装 CentOS 6.10 带 GUI(图形界面) 的版本,适配你 macOS(M 系芯片)环境。下面是一整套从镜像下载到图形界面安装运行的完整步骤 💻🎨。⸻🧰 一、准备工作✅ 1. 安装 QEMU(如未安装)⸻✅ 2. 下载 CentOS 6.10 DVD 镜像(含 GUI)从官方 vault 镜像站点下载:下载这个文件(~4.3G):📁 保存路径假设是 ~/Downloads/CentOS-6.10-x86_64-bin-DVD1.iso⸻🚀 二、启动图形安装流程。
2025-05-15 07:18:31
974
原创 完整的 CentOS 6.10 虚拟机安装启动脚本
好的!下面是一个 完整的 CentOS 6.10 虚拟机安装启动脚本,专为你在 macOS(M 系芯片)+ QEMU(x86_64 软件模拟) 环境设计,确保你能顺利启动并安装一个接近 Red Hat 6.4 的开发环境。⸻✅ 前提准备从官方镜像站下载:建议下载这个:假设你放在 ~/Downloads/ 目录。⸻🚀 一键启动脚本(首次安装)将以下内容保存为 run_centos6.sh:/bin/bash。
2025-05-14 23:25:28
589
原创 centos6.10在Macbook m芯片上使用
你在 Red Hat 6.4 上做了 4 年开发,那意味着你熟悉的是 RHEL 6.x 系列行为 —— CentOS 6.10 是最接近且最合理的选择,没有必要回退到 6.4 版本。📌 总结:如果你的目标是学习 Linux 2.6 系内核的设计思想、接口行为,或者搭建接近 Red Hat 6.x 的系统环境,CentOS 6.10 是最佳选择。• 推荐:CentOS-6.10-x86_64-minimal.iso(适合开发者,启动快)• 💡 帮你定制一个适配 CentOS 6.10 的内核学习项目?
2025-05-14 23:23:10
369
原创 Step1
我可以边讲边拆调度器的核心逻辑(context switch、time quantum、fairness 等)——只要你说一声“讲讲这个”,我就补全理论给你。📌 Step 2:增加 arrivalTime 判断(进程不是一开始都就绪)• 🔧 两种调度器(Round Robin + SJF)• 你可以改写调度器让它按照到达时间决定是否能调度。📌 Step 3:增加统计数据(周转时间、等待时间)📌 Step 1:理解调度器行为(基础)• ✍️ 主函数已演示调度器运行效果。• 📦 模拟进程类 Proce
2025-05-14 23:03:13
207
TA创建的收藏夹 TA关注的收藏夹
TA关注的人