- 博客(222)
- 收藏
- 关注

原创 leetcode需要背下来的程序&语法糖 [更新中]
C++13的string类型在使用.back()方法的时候不会考虑string是否为空,如果string为空的话会有越界错误。
2025-05-29 23:38:18
329

原创 弱监督语义分割学习计划(0)-计划制定
经过与deepseek的一番讨论和交流,DeepSeek为我设计了一个。:Class Activation Map (CAM)优化、伪标签迭代。:掌握图像级/点监督分割方法,构建弱监督野外场景Pipeline。,结合理论与实践,并最终导向可落地的开源项目。:解决野外场景的域偏移问题(如仿真→真实场景迁移):构建完整Pipeline,产出开源仓库与仿真视频。:掌握传统语义分割核心模型与野外场景数据特性。
2025-02-18 14:17:20
886
原创 Windows x86 与 x64 的详细介绍
本文详细介绍了Windows系统中x86与x64架构的区别,包括概念、历史发展、技术差异及实际应用。x86代表32位架构,受限于4GB内存;x64则是64位架构,支持更大内存和更高性能。文章对比了两种架构在地址总线、寄存器、兼容性等方面的差异,并说明如何在Windows中查看系统位数。建议大多数现代用户选择x64系统以充分发挥硬件性能,而仅在对老旧软件兼容有特殊需求时考虑x86系统。当前x64已成为主流,能更好地满足高性能计算需求。
2025-08-11 16:58:59
420
原创 ubuntu dpkg命令使用指南
dpkg 是 Debian/Ubuntu 系统的基础包管理工具,主要用于安装、卸载和查询 .deb 软件包。其核心功能包括: dpkg -S:查询文件所属软件包(如 dpkg -S /bin/ls) 安装/卸载:dpkg -i 安装本地包,-r 卸载,-P 完全删除 包查询:dpkg -l 列出已安装包,-L 查看包内文件,-s 显示包详情 解压deb包:dpkg -x 解压文件,-e 提取控制信息 与 apt 不同,dpkg 不自动处理依赖,适合手动管理第三方 .deb 包。常用技巧包括通配符查询、依赖修
2025-08-09 16:04:40
277
原创 记录一次ubuntu20.04 解决gmock not found问题的过程
摘要:在Ubuntu 20.04系统上编译MoveIt时,电脑B出现"gmock not found"错误,而电脑A和C正常。通过对比发现电脑B缺少部分gmock文件,可能是之前手动安装Google Test时未正确编译gmock组件。最终解决方案是使用fdfind命令排查系统文件差异,过滤掉无关目录后,确认电脑A在/usr/src/googletest/googlemock路径下有完整的gmock库文件,而电脑B缺失这些文件。建议重新安装完整的Google Test库以解决问题。(14
2025-08-09 15:38:32
609
原创 wstool的一个完整的工作流解析
本文详细解析了使用wstool和rosdep工具编译MoveIt仓库源码的标准流程。该流程包含四个关键步骤:1) wstool init src初始化工作空间;2) wstool merge合并官方rosinstall文件;3) wstool update下载所有源码包;4) rosdep install安装系统依赖。通过类比"购物清单"和"工具采购"形象地解释了每个命令的作用,最终为执行catkin build编译MoveIt做好充分准备。这套流程是ROS 1中管理
2025-08-08 20:38:30
833
原创 wstool和git submodule优劣势对比
wstool和git submodule是两种管理外部代码依赖的工具,但设计理念和适用场景不同。git submodule是Git原生功能,通过嵌套仓库实现精确版本锁定,适合紧密耦合的依赖管理,但学习成本高且仅支持Git。wstool则通过清单文件管理多个独立代码库,支持多种版本控制系统,灵活性高,特别适合ROS项目开发。前者强在精确控制和Git集成,后者优势在于易用性和多源支持。选择取决于项目需求:需严格版本控制选git submodule,需灵活管理多源依赖则选wstool。
2025-08-08 15:45:26
699
原创 wstool和catkin_tools工具介绍
python3-wstool和python3-catkin-tools是ROS开发中的两个关键工具,分别负责源代码管理和项目构建。wstool作为"源代码采购员",通过.rosinstall文件从Git等平台获取ROS包源码到工作空间src目录;而catkin-tools作为"项目工程师",负责编译这些源码生成可执行程序。典型工作流程是:先用wstool下载源码,再用catkin build进行编译,二者协同完成从源代码到可执行文件的完整构建过程。wstool专注于源
2025-08-08 15:37:33
742
原创 sudo apt dist-upgrade(ubuntu系统智能更新升级)命令介绍
sudo apt dist-upgrade 是 Debian/Ubuntu 系统中的高级升级命令,可智能解决依赖关系,安装新包或移除冲突包完成系统升级。与普通 apt upgrade 相比,它能处理更复杂的依赖问题,适合大版本升级或解决被保留的软件包更新。使用前需先执行 sudo apt update 更新软件列表,并仔细检查变更内容。日常更新推荐更安全的 apt upgrade,而 dist-upgrade 则用于重大系统升级或处理被保留的软件包。执行前务必确认变更列表,避免意外移除重要组件。
2025-08-08 15:34:12
553
原创 rosdep更新已经终止的发行版的命令
摘要:在使用rosdep更新时遇到问题,系统跳过了已终止支持的ROS发行版(包括所需的noetic),却更新了不需要的版本(如humble、jazzy)。解决方案是使用rosdep update --include-eol-distros命令强制包含已终止支持的发行版,确保能正确更新所需的noetic版本。该命令解决了版本选择不当的问题。
2025-08-08 14:42:12
101
原创 linux统计文本文件中行数、单词数和字节数的命令行工具wc介绍
wc是Linux中实用的文本统计命令,用于计算文件的行数、单词数和字节数。基本语法为wc [选项] 文件名,常用选项包括-l(行数)、-w(单词数)、-c(字节数)等。wc支持多文件处理,并能与其他命令通过管道配合使用,如统计目录文件数ls | wc -l。在处理多字节字符时,-c和-m选项分别统计字节和字符数。该命令体现了Unix"专一高效"的设计理念,是命令行文本处理的常用工具。
2025-08-08 14:14:01
635
原创 ubuntu alias命令使用详解
Linux中的alias命令能极大提升操作效率,它允许为复杂或常用命令创建简短别名。主要优势包括提高效率、降低错误率、增强安全性(如设置rm -i防止误删)以及个性化工作环境。基本用法为alias 别名='命令',需注意等号两边不能有空格。临时别名需写入~/.bashrc文件才能永久生效。高级技巧包括用反斜杠临时忽略别名、使用type检查命令类型,以及注意单双引号的区别(推荐单引号)。合理使用alias能显著优化Linux命令行体验。
2025-08-08 14:09:18
569
原创 linux统计一个文件夹中的内容数量(ll -A | wc -l命令)
本文介绍了在Ubuntu系统中统计ll命令输出行数的多种方法:1)直接使用ll | wc -l统计总行数(需注意首行为total X);2)用tail跳过首行后统计;3)用grep过滤目录或符号链接;4)配合-a/-A参数统计隐藏文件。文章还指出ll是ls -l的别名,建议直接使用ls -1 | wc -l更简洁。这些方法适用于不同统计需求,如仅计算文件数或包含隐藏项的情况。
2025-08-08 13:10:36
114
原创 ccache[加快编译的工具]介绍&使用指南
对于任何在 Linux 环境下进行 C/C++ 开发的工程师来说,ccache都是一个必备工具。安装配置: 在~/.bashrc中加入验证which gcc和ccache -s使用: 像往常一样编译项目即可。管理: 使用设置缓存大小,用ccache -C清理缓存。花几分钟配置好ccache,它将在你未来的开发工作中为你节省无数个小时的等待时间。
2025-08-08 12:02:37
1279
原创 linux顽固进程查看并清理
命令会把grep进程自身也显示出来。要kill进程,请确保你选择的是目标程序的 PID,而不是grep的 PID。Ctrl+C(中断) 和Ctrl+Z(挂起) 是不同的。你的程序忽略了前者,但响应了后者。要终止顽固进程,首先尝试kill <PID>,如果无效,再使用。为了方便,使用pkill <进程名>或killall <进程名>是批量杀死同名进程的好方法。
2025-08-07 23:30:53
705
原创 ROS Launch 文件中的替换参数详解
roslaunch 以单次遍历方式处理 XML 文件。包含文件按深度优先顺序处理。标签按顺序解析,最后设置的参数值生效。因此,若某参数存在多次赋值,最终将采用最后一次指定的参数值。ROS launch 文件支持多种替换参数(substitution args),这些参数在文件被解析时会被替换为实际值。
2025-08-07 19:58:59
909
原创 ubuntu apt安装与dpkg安装相互之间的关系
Linux系统中,neofetch显示的dpkg包数量包含了所有通过apt安装的软件包。apt是高层工具,自动处理依赖关系并调用底层的dpkg执行安装。apt通过软件源下载.deb包并解决依赖,而直接使用dpkg安装本地.deb文件则需手动处理依赖。apt安装的包会被dpkg记录,两者共同构成系统中的软件包管理。flatpak和snap则是独立的容器化包管理系统,与apt/dpkg无直接关系。
2025-08-03 15:48:09
694
原创 update-alternatives(linux系统中对于多程序版本的管理工具)
update-alternatives是Ubuntu/Debian系统中管理多版本软件的命令行工具。它通过两级符号链接机制(如/usr/bin/java→/etc/alternatives/java→实际路径)实现版本切换,避免直接修改系统目录。支持自动(按优先级)和手动模式,常用命令包括--display查看版本、--config交互切换,还可手动--install添加或--remove删除备选项。该工具与包管理器兼容,既保证灵活性又确保安全性,是管理Java/Python等多版本环境的理想方案。
2025-08-03 15:17:01
800
原创 一个物理引擎仿真器(mujoco这种)的计算流程
当前状态:你的车在地图上的位置和当前车速。带约束优化:你观察路况(约束),比如前方有障碍物(接触),路面有摩擦力,你需要决定现在应该踩多少油门/刹车,以及方向盘要打多少(计算接触力)。前向动力学:根据你踩油门/刹车的力度和车子本身的性能(质量、引擎),计算出车子在这一瞬间的加速度。龙格库塔:根据这个瞬时加速度,以及你对接下来一小段时间路况变化的预估(多次采样),在地图上精确地画出你车子下一秒钟的新位置。
2025-08-02 23:13:39
586
原创 linux eval命令的使用方法介绍
摘要: eval是Linux中一个功能强大但极其危险的命令,它能将字符串参数拼接后作为新命令进行二次解析执行。其核心机制是"双重扫描":先进行常规变量替换,再将结果字符串交给shell重新解析执行。主要应用场景包括动态变量名引用、执行含特殊字符的命令、批量设置变量等。但eval存在严重安全风险(如命令注入),业界有"eval is evil"的警告。更安全的替代方案包括:使用${!varname}进行间接引用、用数组处理含空格的命令、通过read解析变量赋值等。建议将
2025-08-02 21:13:22
962
原创 linux source命令使用详细介绍
source 是 Linux/Unix 中的 Shell 内置命令,用于在当前 Shell 环境中直接执行脚本(不创建子 Shell)。主要特点包括:脚本中的变量、函数等会保留在当前环境;常用于加载配置文件(如 .bashrc)、修改环境变量或定义函数。与直接执行脚本不同,source 的修改会立即生效,但需注意脚本中的 exit 会终止当前 Shell。典型使用场景包括环境配置加载、动态路径添加和函数定义。使用时建议明确路径,避免安全隐患。
2025-08-02 21:10:09
289
原创 rosdep的作用以及rosdep install时的常用参数
rosdep的作用:一个跨平台的 ROS 系统依赖安装工具,它读取,将抽象的依赖名映射到具体的系统软件包并进行安装。的含义“请扫描我工作空间下的src文件夹,找出里面所有 ROS 源码包的系统依赖项。在安装时,请忽略掉那些源码已经存在于src文件夹里的包本身。整个过程请严格按照 ROS Humble 发行版的规则来执行。这个命令是在编译一个从源码获取的 ROS 2 工作空间之前,必须执行的关键步骤,它确保了编译过程不会因为缺少依赖库而失败。
2025-08-02 19:19:37
765
原创 linux ssh公钥移除办法
移除通过添加的公钥,其操作逻辑正好是的逆过程。的作用是将你的(例如的内容)追加到中。因此,要移除这个公钥,你需要在上编辑那个文件,并删除对应的公钥行。
2025-08-02 15:11:26
922
原创 Ubuntu系统间SSH控制详细指南
SSH(Secure Shell)是一种加密的网络协议,用于在不安全的网络中安全地运行网络服务。它最常见的用途是远程登录系统,以及在系统之间安全地传输文件。
2025-08-02 14:34:13
599
原创 filezilla出现connected refused的时候排查问题
服务器:SSH服务装了吗?服务器:SSH服务运行了吗?-> 不行就服务器:防火墙挡了吗?-> 如果active,就服务器:端口对吗?-> 确认端口号客户端:FileZilla里协议、主机、端口、用户名填对了吗?特别是sftp://协议和端口号。按照这个顺序排查,基本上都能解决“Connection refused”的问题。
2025-08-02 14:23:17
914
原创 通过filezilla在局域网下实现高速传输数据
本文介绍了FileZilla的安装与使用方法。Linux系统通过apt安装openssh-server,Windows可参考相关教程。使用部分详细说明了WiFi和有线网络两种连接方式,包括IP设置和连通性测试步骤,并展示了20-40MB/s的传输速度。常见问题解答了不同频段WiFi连接和"connection refused"错误的排查方法,提供了相关技术文章的参考链接。文章配有详细的配置截图,便于用户直观理解操作流程。
2025-08-02 13:39:08
298
原创 ubuntu使用man手册中文版办法
安装使用:直接不生效?:检查locale命令输出,确保LANG是。某些还是英文?:正常,说明该命令的中文手册页不存在,man自动显示了英文版。希望能帮助到你!
2025-08-01 15:49:26
368
原创 system.conf linux用于启动和管理系统进程的初始化系统和服务管理器的配置文件
这个文件是 systemd的主配置文件。systemd是现代 Linux 发行版(包括 Ubuntu)中用于启动和管理系统进程的初始化系统和服务管理器。你可以把它看作是系统的“大管家”(PID 1),它负责启动所有其他程序,并监控它们的状态。文件中的配置项定义了systemd管理器自身的行为,以及所有由它管理的服务(services)、挂载点(mounts)、套接字(sockets)等的全局默认值。是systemd的大脑中枢配置文件,它掌管着systemd自身的行为和所有系统服务的全局默认设置。
2025-07-31 23:19:55
690
原创 systmctl的作用,使用场景和用法
(系统和服务的初始化及管理工具)的核心命令。它负责控制系统的启动、服务管理、日志查看等,是现代 Linux 发行版(如 Ubuntu 16.04+、CentOS 7+、Fedora 等)中替代传统。,你可以高效管理系统和服务,尤其适合自动化运维和故障排查。如需更深入学习,可通过。是 Linux 系统中用于管理。
2025-07-31 22:12:39
316
原创 Linux Flathub软件管理方法 使用指南
Flathub 是 Flatpak 应用程序的主要分发中心,类似于 Linux 上的"应用商店"。它提供了一种跨发行版的软件打包和分发方式,让用户可以在任何 Linux 发行版上运行相同的软件。
2025-07-31 21:51:44
769
原创 Python .toml 安装文件介绍
toml文件是一种用于配置的文件格式。它的全称是,即 “汤姆的(创始人)显而易见的、最小化的语言”。核心目标:人类易于阅读:它的语法非常直观,就像一个初始化(.ini)文件,但功能更强大。易于解析:计算机程序可以轻松地将其内容解析成统一的数据结构(通常是字典或哈希表)。无歧义:一种 TOML 文件格式应该只对应一种解析后的数据结构,避免了像 YAML 那样可能出现的歧义。在 Python 生态中,.toml文件变得越来越重要,特别是在PEP 518之后,它被选为。
2025-07-30 22:19:47
967
原创 linux更新内核启动镜像文件命令(sudo update-initramfs -u)的作用
这个命令的作用是:为当前正在运行的内核,重新生成(或更新)initramfs启动镜像文件。为了完全理解它,我们需要先弄明白initramfs是什么。initramfs是一个强大的系统底层命令,它像是在为你系统的“智能启动钥匙”更新程序。对于普通用户来说,它大部分时间是自动运行的。你只需要在手动修改了核心启动配置或修复特定启动故障时,才需要亲自调用它。
2025-07-30 11:43:42
857
原创 Linux系统的虚拟控制台介绍(桌面卡死的拯救方案)
当你按下(或者F1-F6中的任意一个) 时,你进入的是虚拟控制台 (Virtual Console),也常被称为。简单来说,这是一个纯文本、全屏的命令行界面。在这个模式下,你看不到你熟悉的桌面、图标、窗口或鼠标指针。你只能通过键盘输入命令来与操作系统进行交互。在现代Linux系统中,通常会预留多个虚拟控制台。到通常对应6个独立的文本模式虚拟控制台 (tty1 到 tty6)。你的图形桌面环境(GUI)也运行在一个虚拟控制台之上,通常是在tty2(对于较新的Ubuntu版本) 或tty1。
2025-07-29 22:29:36
862
原创 linux启动项选择文件(grub文件)的配置和修改
(尤其是在UEFI启动模式下),但主要配置和核心文件位于其他目录。如果EFI分区损坏,需重新安装GRUB到EFI分区(假设磁盘为。GRUB菜单的配置文件和相关文件分布在多个位置,两者协同工作,确保系统正常启动。
2025-07-29 21:42:41
442
原创 系统选择菜单(ubuntu grub)介绍
Ubuntu的GRUB菜单是您电脑的启动管理器和系统急救中心。它不仅是选择操作系统的入口,更是您在系统遇到启动问题时的第一道防线。了解它的基本功能,对于每一位Ubuntu用户来说都是非常有用的。
2025-07-29 21:30:00
923
原创 多个同一频段的设别如何避免相互干扰
我一直以为不同的频谱是用来区分不同设备的,那多个2.4G或者5G的信号源在一起发射和接受,互相之间如何保证不干扰吗,不是通过使用不同的信道吗,那使用了不同的信道怎么保证传输速率呢。即使使用了不同信道,如果多个设备同时通信,仍然可能影响速率。,但具体如何保证传输速率,还涉及更复杂的技术。,能获得最佳速率和抗干扰能力!
2025-07-29 17:02:36
1140
原创 5G到底比2.4G快在了哪里,为什么频率只高了一倍网络带宽却可以快10多倍
(如 Wi-Fi 6 的 5GHz 可达 9.6Gbps,而 2.4GHz 通常只有 600Mbps)。你提到的“5G 频率比 2.4G 快了一倍,但理论速率却高 15 倍”是一个很好的问题。虽然 5GHz 的频率数值(5.0)只是 2.4GHz(2.4)的约 2 倍,但。
2025-07-29 16:56:05
542
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人