自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(139)
  • 资源 (1)
  • 收藏
  • 关注

原创 linux gcc 静态库的简单介绍

静态库在编译时被直接链接到程序中,生成的可执行文件包含了库的所有代码。它的实现原理依赖于目标文件的归档和符号解析,调用机制通过在编译期间将库中的代码复制到最终的可执行文件中完成。

2024-09-15 08:02:31 713

原创 AG3335芯片介绍

表示一种能够同时接收来自多个卫星导航系统信号的接收器,它通过结合多个星座的卫星信号,实现更精确、可靠的全球定位服务,特别适用于对定位精度要求较高的场景。表示该 GNSS 接收器支持多种基于卫星的增强系统(SBAS),包括不同地区的具体服务(如北美的 WAAS、欧洲的 EGNOS、日本的 MSAS、印度的 GAGAN)。这些系统通过提供修正后的卫星信号,大幅提升定位的精度和可靠性,特别适合需要高精度导航的应用场景。确保在 SBAS 覆盖区域内。通过设备配置或命令启用 SBAS。

2024-09-15 07:58:16 3142 1

原创 std::begin, std::end,std::remove_if的配合使用

std::beginstd::end和是 C++ 标准库中的函数,通常用于处理容器(如。

2024-09-15 07:55:11 507

原创 西部数据硬盘的分类

WD Black(黑盘):高性能,高转速,适合游戏、内容创作等高负载场景,保修期长(5年)。WD Red(红盘):为 NAS 系统优化,支持 24/7 运行,具有抗振动设计,适合家庭和小型企业存储解决方案。WD Blue(蓝盘):性价比高,适合一般日常使用场景,提供适中的性能和可靠性。选择硬盘时,建议根据具体使用场景来选择合适的系列。

2024-09-15 07:52:35 3370

原创 git reflog

git reflog是一个非常有用的命令,可以让你查看和回滚到 Git 仓库中的任何之前的状态。reflog记录了你在 Git 仓库中的所有 HEAD 移动历史。下面是使用reflog。

2024-09-15 07:47:46 831

原创 多线程拷贝的基本原理

单独工具rsync和rclone适合文件同步,bbcp则用于高性能的多线程传输。组合工具:通过dd和split等工具的组合,可以手动实现文件的分块并行操作。下载工具aria2适合远程文件的并行下载。这些工具在不同场景下各有优劣,具体选择应根据需求而定。

2024-09-15 07:44:44 1713

原创 什么是国企和央企

央企:中央政府直接管理,通常在战略性行业中具有重要地位。国企:广义上包括央企和地方国有企业,管理层级可以是中央或地方。

2024-09-15 07:35:10 1367

原创 C语言代码中常见的内存对齐

Alignment(对齐)表示数据在内存中应该位于某个对齐边界上。对齐要求通常是 1 字节、2 字节、4 字节、8 字节等,这取决于处理器架构和数据类型。正确的对齐可以提高数据访问的效率,避免一些性能问题。意味着数据存储在内存中时没有特定的对齐要求,可以放置在任意字节边界上。对于大多数场景,是最灵活的,但在性能敏感的应用中,适当的对齐可能更有利。

2024-09-15 07:33:26 344

原创 strcmp

按字节顺序逐一比较两个字符串的每个字符,直到遇到不同字符或到达字符串的结尾。对于 ASCII 字符来说,每个字符占用 1 个字节,而对于 UTF-8 编码的中文字符,每个字符通常占用 3 个字节(少数字符可能占用更多)。不关心每个字符的长度,它只是逐个比较字节的数值。因此,只要两个 UTF-8 编码的中文字符串的。是相同的中文字符串,它们的字节序列完全一致,所以。会比较 UTF-8 编码的每个字节,由于。,多字节字符依然可以被视为连续的字节序列。会返回 0,表示字符串相等。由于 UTF-8 是一种。

2024-09-15 07:04:27 624

原创 static 初始化报错

如果static变量的值是固定的,确保它是编译时常量。如果需要用动态值初始化static变量,请在函数的运行时使用赋值语句,并确保它只执行一次。

2024-09-14 06:06:59 635

原创 Git 中的refs

本地分支。:远程跟踪分支。refs/tags/:标签。:Git Notes。其他refs如refs/stash和可能由特定的 Git 托管服务或 Git 操作使用。这些引用帮助 Git 管理分支、标签、提交和其他元数据,使得版本控制变得灵活和强大。

2024-09-14 06:05:53 1311

原创 lsof - list open files

使用查看某个磁盘上的文件是否被进程打开。使用查看某个文件是否被任何进程使用。使用查看某个进程打开的所有文件。使用grep来过滤和定位特定的文件或路径。

2024-09-14 06:04:19 384

原创 IP core 在硬件上实现的流程

一旦 IP 核被集成到一个芯片设计中,它通常不能作为一个独立的模块被拆除和转移到其他系统中。IP 核的集成涉及到电路设计、接口通信、授权协议等多个方面的复杂因素,导致其不能简单地从一个系统中拆卸并在另一个系统中重新使用。IP 核最终会在硬件上实现,通过集成到芯片(SoC、MCU、ASIC)中,成为硬件的一部分。芯片制造商将授权的 IP 核与其他设计模块集成,并经过验证和生产,最终应用于各种电子设备中。

2024-09-14 05:57:23 1803

原创 iostat 参数分析

tps:衡量 I/O 请求的频率,表明设备的活跃程度。kB_read/s和kB_wrtn/s:每秒的读写速率,反映当前的 I/O 负载。kB_read和kB_wrtn:累计读写数据量,提供长期的 I/O 压力信息。结合这些指标,你可以有效监控和诊断磁盘的 I/O 性能,识别潜在的性能瓶颈。

2024-09-14 05:55:45 1216

原创 Linux 监控I/O的状态

iostat:用于查看磁盘 I/O 的整体负载。iotop:实时查看进程级别的 I/O 操作。vmstat:用于查看等待 I/O 的进程情况。df:查看磁盘空间的使用情况。dstat:综合显示 CPU、内存、网络、I/O 状态。sar:记录和显示 I/O 负载历史数据。这些工具可以帮助你全面分析和诊断 I/O 密集型操作下的系统性能瓶颈。

2024-09-14 05:53:54 1669

原创 git gc

丢弃的提交对象是指那些不再被任何分支或标签引用的提交。它们可以通过删除分支、重置提交、合并或变基操作等方式产生。Git 使用垃圾回收(git gc)来处理这些丢弃的对象,通过标记、清理和压缩来优化存储空间。通过适当的垃圾回收和prune设置,可以有效地管理这些丢弃的提交对象。被reflog引用的提交不会被认为是垃圾。reflog记录了分支和其他引用的操作历史,这些记录有助于恢复丢失的提交。垃圾回收(git gc)会考虑reflog中的条目来决定哪些对象仍然被引用,并且只有在reflog。

2024-09-14 05:52:16 2144

原创 git update-ref

是一个强大但低级的工具,适用于直接操作 Git 引用(如分支、标签等)。它允许你精确控制引用的更新,特别是在脚本和自动化任务中。由于它直接操作引用,建议在使用时谨慎,以避免意外覆盖重要数据。

2024-09-14 05:51:14 1719

原创 git submodule

是管理和跟踪外部项目或库的有效工具,适用于需要将多个相关项目整合在一起,或者需要跟踪和更新外部依赖的场景。通过子模块,可以将复杂项目中的依赖项和子项目模块化,保持项目的整洁和可管理性。是一个用于同步子模块配置的命令,确保子模块的 URL 和路径与文件中的设置一致。这个命令在子模块配置发生变化后非常有用,尤其是在包含嵌套子模块的复杂项目中。命令会将子模块初始化为其默认分支的最新提交点。主项目会记录这个提交点,固定子模块的状态。要更新子模块到最新提交,可以使用。

2024-09-14 05:49:54 1375 1

原创 git reset 几点疑问

疑问:使用 git reset --hard 将工作区状态reset为其他branch的某点。如果当前工作区的分支(比如branch A)上使用将其状态重置为另一个分支(比如branch B)的某个 commit,branch A。

2024-09-14 05:48:16 1275

原创 git rev-parse

是一个灵活的工具,用于解析 Git 引用、获取路径信息和验证提交。在处理脚本和复杂的 Git 操作时,它非常有用,特别是在自动化场景中。

2024-09-14 05:40:17 2081

原创 “Fast-forward“ in git-pull result

当你执行git pull并且结果显示时,这意味着你的本地分支可以直接快进到远程分支的最新提交,没有任何冲突或者需要合并的内容。具体来说,是一种合并方式,它的特点是将当前分支的指针直接移动到远程分支的最新提交位置。

2024-09-14 05:37:43 881

原创 git-note 看似无用实则内藏玄机

用于存储附加的 Notes 数据,影响 Git 的正常提交和操作,但不会修改实际的提交数据。不会影响正常提交:这些 Notes 只是附加的信息,不改变提交的内容或历史。存储和性能:大量的 Notes 可能影响存储和性能,但不会对提交数据造成影响。通过git notes命令,你可以灵活地管理和使用 Notes,而不会干扰到 Git 的核心功能和提交记录。和:不同的refs用于组织和管理不同类型的 Notes。使用--ref选项:在添加和查看 Notes 时使用--ref选项来指定目标refs。组织和管理。

2024-09-14 05:36:10 1277

原创 fsck 为什么能够修复文件系统

fsck通过检查文件系统的结构(如超级块、inode、数据块等)的一致性,发现并修复文件系统中的各种问题。它的主要原理是确保数据结构的正确性,修复受损数据,移除无法修复的部分,最终恢复文件系统的正常状态。

2024-09-14 05:32:05 1852

原创 diffoscope 的一般用法

安装diffoscope:通过包管理器安装。比较文件夹:使用生成差异报告。生成 HTML 或 Markdown 报告:使用--html或--markdown选项。分析报告:根据文件类型分析报告,查找具体的差异。通过diffoscope,你可以深入了解文件和目录的具体差异,特别是在文件类型复杂、文件格式多样的情况下。

2024-09-14 05:30:43 1224

原创 改写二进制文件

修改二进制文件可以是一个复杂的任务,因为它涉及到直接操作计算机文件中的字节,而不是通过高级语言中的可读格式。根据你的需求,修改二进制文件的方式可以有所不同。

2024-09-07 21:19:00 1617

原创 HDD 顺序和随机文件拷贝和存储优化策略

顺序拷贝:数据按顺序连续存储和访问,减少磁头移动,提高性能。随机拷贝:数据分散存储和访问,增加磁头移动,降低性能。单个文件操作:在读取或写入大型文件时,磁头可能在不同位置移动,但如果文件是连续存储的,移动会较少。文件碎片化会导致更多的磁头移动和性能下降。理解这些概念有助于优化硬盘性能,例如通过避免文件碎片化、合理安排文件操作等方式提高顺序操作的效率。打包小文件:通过将多个小文件打包成一个大文件,可以减少磁头移动和随机读写,提高机械硬盘的顺序读写性能。压缩文件。

2024-09-07 20:44:47 1402

原创 文件的时间戳

文件的时间戳和元数据信息(包括权限、所有者、类型、大小等)在文件管理、系统安全、备份和恢复中起到关键作用。保留这些信息确保文件在被复制或同步时不会丢失历史记录、权限控制和数据一致性,从而保障系统的稳定性与安全性。在文件复制工具中,如。

2024-09-07 19:51:19 1134

原创 Linux 大文件和大量小文件的复制策略

在Linux上复制大文件或大量小文件时,可以根据文件的类型、数量以及硬件配置(如硬盘类型、CPU、内存)选择不同的复制策略,以提高复制效率。

2024-09-07 19:46:36 4524

原创 算法复杂度的简单介绍

是衡量算法执行效率和资源消耗的指标,通常分为和。时间复杂度评估算法执行所需时间随输入规模的变化,空间复杂度评估算法占用内存的增长情况。复杂度通常用来表示,它描述了最坏情况下的增长速率。

2024-09-07 19:32:01 1319

原创 嵌入式C/C++代码的运算符优化

编译器通常会针对常见的运算进行优化,减少生成的机器指令数量。位运算符()通常直接映射为机器指令,效率很高。移位操作可能替代乘法和除法,特别是当乘数或除数是2的幂时。自增和自减运算符 (++--) 通常会生成更少的指令,尤其是前置版本。条件运算符?可能比if-else更高效,减少分支跳转。编译器的优化能力因具体硬件架构和编译器选项(如优化级别-O2-O3)而异。通过启用优化,编译器可以在不改变程序行为的前提下进一步减少指令数量。

2024-09-07 19:21:18 1219

原创 PC/MCU/SoC使用的计算机架构(Architecture)

冯·诺依曼结构(Von Neumann Architecture)是计算机系统的经典架构,由数学家约翰·冯·诺依曼在1945年提出。这种结构结合了哈佛架构的并行处理能力和冯·诺依曼架构的简易性,使得现代处理器既能高效并行处理数据,又能灵活编写程序。这是由于数据和指令通过相同的总线进行传输,导致在高并发情况下,数据和指令的访问速度无法满足处理器的需求,形成性能瓶颈。共享同一存储设备,程序和数据以相同的方式存储和访问。选择哈佛架构的原因主要基于其性能和功耗优势,尤其在嵌入式系统中,这些因素非常关键。

2024-09-07 19:12:11 1195

原创 Linux 使用rsync拷贝文件

rsync可以显示进度条,您可以使用--progress或-P选项来显示每个文件的传输进度和已完成文件的统计信息。

2024-09-07 18:55:00 2601

原创 Linux 递归删除大量的文件

因此,如果你使用的是 SSD,可以考虑使用多线程删除来加速操作。在删除大量文件时,系统会自动进行磁盘写入同步操作,这可能会影响速度。虽然不会直接加速删除过程,但可以减少潜在的I/O延迟。在删除大量文件时,系统 I/O 可能会变得非常繁忙,影响系统的响应速度。通常用于文件同步,但你可以利用它来快速删除目录中的所有文件。这样可以让删除操作在后台更平稳地进行,而不会对前台的其他操作造成太大的影响。通过上述方法,可以有效地加快递归删除大量文件和文件夹的速度,尤其是使用。,这样可以加速文件删除操作。

2024-09-07 18:30:18 2054

原创 Ubuntu 比较两个文件夹

它不仅可以查找重复文件,还可以用于比较文件夹中是否有重复内容。你可以生成每个文件的哈希值并比较哈希值文件。如果没有任何输出,则两个目录的文件是不同的。如果有重复的文件,它会显示这些文件的路径。是一个功能强大的工具,专门用于比较目录和文件的详细差异,适合复杂的比较需求。是一个强大的工具,通常用于同步文件,但它也可以用于比较文件夹的内容。(dry-run)选项可以模拟文件同步操作,而不会实际更改文件,配合。命令不仅可以比较文件,还能递归比较文件夹。命令可以比较文件的字节,结合。中的所有文件,并使用。

2024-09-07 18:09:40 1554

原创 Linux 查看磁盘重复文件

是另一个强大的重复文件查找工具,并且可以生成删除脚本来帮助清理重复文件。这个命令会计算所有文件的 MD5 校验和,并找出重复的校验和。并启动它,按照向导选择目录来扫描重复文件。如果你更喜欢图形用户界面,可以使用工具如。如果你喜欢使用命令行,你可以通过结合。是一个专门用于查找重复文件的工具。选项会递归查找子目录中的重复文件。会输出报告,但你可以使用。选项来生成删除脚本。命令来查找重复文件。: 在应用菜单中找到。

2024-09-07 15:38:17 807

原创 Linux 安全弹出外接磁盘

首先,需要卸载硬盘上的所有分区,可以使用umount来卸载分区。

2024-09-07 15:23:22 825

原创 Ubuntu20.04如何安装虚拟机(并安装Android)

在Ubuntu安装虚拟机并且安装安卓模拟器

2023-02-18 23:36:53 3274

原创 如何修改二进制文件(使用VIM)

使用vim修改二进制文件

2023-01-07 19:44:49 1091

原创 如何用man查看头文件内容

sudo apt install manpages-posix-dev

2022-04-03 09:30:34 555

原创 如何在ubuntu20.04上安装微信

https://github.com/leimao/Docker-WeChat请看上面这位大佬的链接,别忘了给星。

2022-03-26 15:23:14 561

android-x86-64-9.0-r2.iso

如何可以访问 https://www.android-x86.org/download.html 可以自行下载 如果不能访问可以下载我这个

2023-02-18

快速搜索工具

可以快速搜索硬盘的文件。。。。。。。。。。。。。。。

2018-04-01

空空如也

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

TA关注的人

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