- 博客(148)
- 问答 (2)
- 收藏
- 关注
原创 在docker里面安装nextcloud
好 👍 我给你一个从 零开始安装 Docker → 安装 Nextcloud 的完整流程。下面以 Ubuntu 20.04/22.04/24.04 为例(如果你是 CentOS / Debian 也可以告诉我,我帮你改命令)。⸻🐳 第一步:安装 Docker。
2025-09-27 23:31:03
1312
原创 C++ 怎么根据字符串new出对应的累,向C#的反射一样
/ 添加宏定义简化注册过程// 添加宏定义简化注册过程 # define REGISTER_CLASS(className) \ class className ## Registrar {\ public :\ });\ } \ };// 在派生类定义后使用宏注册 class DerivedC : public Base {public :} };
2025-09-24 07:29:21
387
原创 C++ 中的预编译指令
C++ 预编译指令(也称为预处理指令)是在编译过程的预处理阶段执行的指令。这些指令以开头,用于包含头文件、定义宏、条件编译等。
2025-09-02 13:26:03
610
原创 Linux C++ 同一套代码引用不同版本的类库,头文件不同,该怎么用同一个类兼容不同版本的类库
这些工具可以帮助你在编译时选择正确的类库版本,而不需要在代码中硬编码版本选择逻辑。使用适配器模式来封装不同版本的类库,使其提供统一的接口。适配器模式可以让你的代码不直接依赖于具体的类库版本,而是通过适配器来间接调用。)来根据不同的类库版本包含不同的头文件,并定义不同的实现。定义一个抽象接口,然后为每个类库版本实现这个接口。这样,你的代码只需要依赖于这个抽象接口,而不需要直接依赖于具体的类库版本。等),在运行时根据需要加载不同的类库版本。这种方法适用于类库版本差异较大,且需要在运行时决定使用哪个版本的情况。
2025-09-02 11:16:25
166
原创 windows CapsLock 键与Ctrl键互换
swap_capslock_leftctrl.regWindows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]“Scancode Map”=hex:00,00,00,00,00,00,00,00,03,00,00,00,1d,00,3a,00,3a,00,1d,00,00,00,00,00swap_capslock_rightctrl.regWindo
2025-08-29 14:30:10
167
原创 C++ 主流编码规范
C++ 编码风格是编写高质量、可维护代码的重要一环。虽然不同项目和团队可能有细微差别,但现代 C++ 开发中存在一些广泛认可和流行的编码规范与最佳实践。下面我将为你梳理这些内容。希望这些信息能帮助你更好地理解当前流行的 C++ 编码风格。如果你在团队协作中,建议和队友共同讨论并确定一份大家都认可的指南。你目前主要是在学习 C++ 还是已经在某个项目中进行开发呢?如果你能分享更多的上下文,或许我能给你更具体的建议。
2025-08-27 11:21:17
700
原创 GDT(全局描述符表)中的段描述符指向 TSS(任务状态段)
GDT 中的 TSS 段描述符确实指向 TSS 段。通过段选择子,处理器可以引用 GDT 中的 TSS 段描述符,从而访问和使用 TSS 段中的内容。这种机制使得任务切换和中断处理能够高效地进行。在操作系统中,TSS(Task State Segment)是用于存储任务状态信息的数据结构。TSS 段的长度(例如 236 字节)指的是该数据结构在内存中占用的字节数。具体来说,TSS 段 236 字节长意味着该段在内存中占用 236 个字节的空间。
2025-08-27 10:25:59
834
原创 sshfs 挂载的文件夹,用neovim查看时,yy以后,用p,不生效,显示Register “+“ is empty,但是用“ayy “ap就可以生效,wsl用的 win32yank
在使用sshfs挂载的文件夹时,遇到neovim中yy和p操作不生效的问题,而使用"ayy和"ap可以生效,这通常与剪贴板(clipboard)的配置有关。
2025-08-26 09:35:44
730
原创 windows端口转发
使用netsh进行端口转发是 Windows 上最简单和直接的方法。通过添加端口转发规则,你可以将外部请求转发到本地服务,或者将本地请求转发到远程服务。这对于在 WSL 中运行的服务特别有用,可以确保外部网络能够访问这些服务。如果你需要更复杂的配置,可以考虑使用第三方工具如Rinetd。在 Windows 上使用netsh进行 SSH 端口转发可以帮助你将外部 SSH 请求转发到本地或 WSL 中的 SSH 服务。以下是如何配置端口转发以实现 SSH 访问的步骤。使用netsh。
2025-08-22 14:20:54
1133
原创 Kernel Study
• 入门推荐:Linux 2.6.34 ~ 2.6.39(代码量小,资料多,适合学习经典机制)。• 写一个简单的 mychardev,支持 open/read/write/ioctl。• Host:Ubuntu 24.04 / CentOS 6.10(你已有)• 工具链:gcc、make、gdb、qemu-system-x86_64。• 《Linux Device Drivers》(驱动必备)。• 打印物理页信息(/proc/kpagecount)• 进阶可用:Linux 5.x/6.x(更现代)。
2025-08-20 19:17:24
630
原创 交换 Caps Lock 和右 Ctrl 键的注册表配置方法
工具可视化操作,避免手动计算扫描码。新建文本文件,粘贴以下内容,保存为。双击运行后重启即可恢复原键位。
2025-08-18 10:36:07
516
原创 mc paper 1.20.4
你这个现象是正常的,因为第一次启动 Paper 服务器时,它会先下载对应的 原版 Mojang 服务器核心(mojang_1.20.4.jar),Paper 会用它来做一些数据同步和兼容处理。我可以帮你打包一个 已经能离线运行的 Paper 1.20.4 目录结构示例,你直接解压到树莓派就能跑,你要我帮你准备吗?你是想在树莓派上**离线启动 Paper 服务器(不联网下载 mojang_xxx.jar)**对吧?我可以帮你写一个 一键启动脚本,让你树莓派开机自动跑 Paper 服务器,你要吗?
2025-08-15 19:15:44
446
原创 树莓派 4B 上部署 Minecraft PaperMC 1.20.x 的一键部署脚本
明白,我帮你写一个 树莓派 4B 上部署 Minecraft PaperMC 1.20.x 的一键部署脚本,基于 Java 17,支持后台运行和 systemd 开机自启。⸻一键部署脚本:install_minecraft.sh/bin/bashset -e。
2025-08-14 23:34:45
799
原创 在macOS上扫描192.168.1.0/24子网的所有IP地址
在macOS上扫描192.168.1.0/24子网的所有IP地址,可以通过终端命令实现。这会快速检测子网中活跃设备。此方法会将响应IP写入。
2025-08-11 22:23:16
1154
原创 GNOME Terminal 修改标题为当期路径
在 WSL 中使用 GNOME Terminal 时,你可以通过设置.bashrc文件来动态显示当前路径作为终端窗口的标题。
2025-08-08 12:45:51
321
原创 ubuntu 无图形界面,怎么安装某种字体
在没有图形界面的 Ubuntu 系统上安装字体,可以通过命令行工具来完成。以下是一些步骤和命令,帮助你在无图形界面的 Ubuntu 系统上安装字体。
2025-08-08 12:34:42
420
原创 linux上C++开发需要什么工具
安装这些工具后,你就可以在Linux上开始C++开发了。根据你的具体需求和偏好,可以选择合适的编辑器、构建工具和调试工具。
2025-08-08 09:27:28
591
1
原创 wsl qt安装
在 WSL 中进行简单的Qt 开发Qt 开发工具包X11 支持X11 服务器:在 Windows 上安装VcXsrv或Xming。构建工具Qt Creator(可选)配置完成后,你就可以在WSL上进行Qt 开发,并通过 X11 转发查看和调试你的 Qt GUI 应用。
2025-08-08 01:32:15
623
原创 SSHFS 持续挂载
要解决 sshfs配置 SSH 连接的 ServerAliveInterval和 ServerAliveCountMax参数,保持连接活跃。确保网络连接稳定,避免休眠、自动断开等问题。可以使用sshfs的 reconnect选项来在断开后自动重连。这些方法通常可以有效减少或消除连接断开问题,保持远程挂载的稳定性。
2025-08-08 00:56:08
607
原创 vmfusion启动centos6.10 一直卡到call 169.254.169.254
方法是否推荐说明卸载 cloud-init✅ 推荐永久解决问题使用非 cloud-init 镜像✅ 强烈推荐不需要额外操作修改 grub 启动参数✅ 临时有效可快速尝试如果你告诉我你现在使用的 CentOS 镜像名称,我可以判断它是否 cloud-init 镜像,并为你推荐更合适的替代。是否需要我提供一个干净的 CentOS 6.10 ISO 镜像下载链接?
2025-08-03 12:07:25
296
原创 Linux 内核学习的选择
💡 内核模块接口从 4.x 起变化大,比如 probe() 的签名、设备树接口、新的 DMA API。💡 例:很多教材、清华《操作系统实验》、Xv6/Linux对比,参考的是 Linux 2.6。初学入门 Linux 2.6.32 / 3.2 学内核架构、基本调度、内存管理。性能调优 Linux 6.x BPF、perf、cgroup、NUMA 优化等。所以如果你学的是容器、系统安全、BPF 跟踪,那用 5.x 起步是必须的。学结构就看 2.6,搞应用就用 5.x,玩系统就奔 6.x。
2025-08-03 07:38:43
636
原创 ByobuHelp
您提供的内容是 Byobu(一个基于 GNU Screen 和 Tmux 的终端复用器)的快捷键列表。Byobu 提供了一系列方便的快捷键,用于管理多个终端窗口、分割窗口、会话管理等。
2025-08-02 08:59:28
490
原创 宏定义无法识别导致neovim换行缩进过多
Neovim 有时会在打开时尝试“猜测”缩进风格(基于已有行缩进),导致你虽然设置了 4 空格,但插入时使用了某一行的“16 空格”缩进作为模板。如果你想复现 16 空格问题,可以在空项目中写个 4 层嵌套的 if/for/while,然后按。这在很多时候是智能的,但对嵌套很深或非标准风格的 C/C++ 项目来说,这是个非常好的问题,能看出你已经在认真分析 Neovim 的行为了。,于是它“以为你还在上一层的作用域”——导致你下一行缩进爆炸。,它会基于语法树“猜测”你应该使用的缩进宽度。
2025-08-01 07:16:09
1013
原创 gen_compile_commands.sh
下面是为你的项目结构的完整脚本:它会扫描所有.cpp文件,添加正确的-I包含目录,输出符合clangd要求的文件。
2025-07-31 21:39:09
378
原创 .clang-format的作用是什么,什么情况下会生效
是一个配置文件,用来告诉工具在格式化 C/C++(以及部分其他语言)代码时应该遵循哪些格式化规则。
2025-07-30 07:58:45
802
原创 clang-format的风格
类型工具用途格式化快速统一风格(配合 conform.nvim)Lint/诊断clang-tidy深度分析(在构建阶段运行最佳)LSP 支持clangd语义补全、跳转、重构等功能编译命令支持clang 系列工具依赖是否需要我直接为你生成以下配置内容?示例文件(LazyVim)clangdLSP 配置补丁(如禁用 formatOnSave 等)手动触发格式化的快捷键配置只需说一句“给我打包一下”,我可以全部贴给你。的。
2025-07-30 07:55:29
979
原创 neovim 怎么调用 clang-format进行格式化
方法优点推荐场景✅LazyVim 默认支持、简单易配✅ 推荐给所有 LazyVim 用户更灵活,可支持诊断 / lint想统一格式化 + lint 一起做Shell 命令快速粗暴、无依赖不想依赖插件,只想快捷键文件手动格式化按键绑定代码?只要说一声,我立刻给你完整复制可用版本。
2025-07-30 07:53:12
596
原创 nvim 代码formatter
目标方法离线可用文件位置代码缩进样式(C/C++)autocmdsetlocal✅自动格式化✅(需离线安装)缩进可视线✅单独插件。
2025-07-29 07:33:46
1193
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅