- 博客(85)
- 资源 (2)
- 收藏
- 关注
原创 llinux--mount指令使用
在日常嵌入式开发中,经常需要对一些外插设备和网络设备进行挂载,常用的挂载指令为。,现在对此指令进行记录总结。多个选项用逗号分隔(无空格)
2025-12-19 12:57:05
334
原创 可执行程序运行“bus error“问题解决之库依赖
Bus error(总线错误)是 Unix/Linux 系统中一种严重的运行时错误,通常由 硬件无法处理的非法内存访问 引起。它与 Segmentation fault(段错误)类似,但原因更底层,往往涉及内存对齐、硬件限制或物理地址问题。看情况,如果程序还没运行,就报这个错误,比如main里面最前面的日志都没有打印;问题,然后就卡住了,不能再进行下一步操作。Bus error 的核心是:CPU 能“看到”这块内存,但拒绝以你的方式访问它。我们很多时候,在运行一个第三方的程序的时候,出现一个。
2025-12-11 21:54:50
418
原创 excel快速填充
首先介绍一下一个可以选中区域,也可以是任意一个单元格的框,暂且就叫它区域框吧,位于表格左上角最上方。就是这个框框,可以实现任意矩形区域的选择,格式为a:b,其中a和b分别是矩形区域的左上点和右下点。
2025-12-04 21:56:45
380
原创 vscode 连接远程服务器
摘要:本文介绍使用VSCode连接远程Linux服务器的方法。主要通过安装Remote-SSH插件实现可视化编程,具体步骤包括:安装插件后配置服务器IP、用户名等参数;设置SSH密钥实现免密登录;连接成功后即可在VSCode中直接编辑远程文件。该方法相比传统终端操作更高效,但文中指出暂未找到主动断开连接的按钮操作。(149字)
2025-06-01 23:16:08
1993
原创 命令行式本地与服务器互传文件
命令行下的本地与服务器文件传输方法主要有SCP和SFTP两种。SCP协议使用简单指令即可完成文件传输,如scp file user@host:/path上传或scp user@host:file local_path下载,支持递归传输目录。SFTP提供更丰富的交互功能,通过sftp user@host连接后,使用put上传、get下载文件,支持批量传输和目录管理。这两种基于SSH的协议无需额外安装软件,适合在不便使用图形工具的环境中进行安全高效的文件传输,是嵌入式开发和跨系统协作的实用解决方案。
2025-05-31 16:35:17
2011
原创 初识人工智能、机器学习、深度学习和大模型
之前经常听人说AI、机器学习,深度学习之类的词汇,总是傻傻的不了解他们的区别,近来有空,来通俗说说个人看了相关文章之后的了解。
2025-05-06 00:21:22
1007
原创 docker介绍以及安装
大家有没有遇到这种问题,一个程序在自己这边运行的很正常,在另外的电脑上就会出现各种问题,有依赖呀,有配置呀,总会把我们折腾的半死不活,最后问题解决了,也就那么回事儿。那有没有一种技术可以让这种环境差异消除呢?有,它就是我们的docker技术。镜像(Image)类似于“应用的安装包”或“乐高积木模板”,包含运行程序所需的所有文件(如代码、库、配置、工具)。
2025-05-05 08:23:25
1202
原创 中间件和组件
中间件和组件是软件开发中两个重要的概念,但它们的定位和作用完全不同。中间件解决的事通信、跨系统、安全等问题,组件是解决具体业务模块,提高可复用性的功能。中间件,可以通俗理解为系统的“交通指挥”。定义中间件是位于操作系统和应用软件之间的“桥梁”,负责处理系统级服务(如通信、资源管理、安全等),让不同应用或组件能高效协同工作。特点底层服务:解决网络通信、数据共享等基础问题,例如数据库连接池、消息队列、负载均衡。标准化接口:提供统一的通信规则,让不同技术栈的应用能“对话”。通用性。
2025-05-03 23:42:15
962
原创 数据库介绍以及windows下mysql安装
我们浏览的淘宝商品页面详情、刷视频网站的一个个视频,这些数据其实都是存储在公司的存储系统中的。想象一下,如果我们逛淘宝,刷视频的时候半天点不动的情景(有点像早些年的android卡住情景),是不是很崩溃。因此,高效的读取、高并发的交互、高可靠性的运行是对大数据管理的考验。而我们的数据库,就可以高效用、高并发、高可靠性的解决这些问题。💭数据库是什么呢?数据库,通俗简单的理解,就是使用特定数据结构来组织、存储和管理数据的集合,可以理解为电子化的文件柜或数据仓库。🤔数据库有什么特点呢?数据结构化。
2025-05-03 22:26:46
1173
原创 linux下抓包工具--tcpdump介绍
⽹络世界中的数据包交互我们⾁眼是看不⻅的,这个时候对于我们而言就是很抽象,如果可以把交互过程“可视化”,我们就更容易了解网络了。tcpdump和wireshark就是2个分析网络的神器。tcpdump 仅⽀持命令⾏格式使⽤,常⽤在 Linux 服务器中抓取和分析⽹络包。Wireshark 除了可以抓包外,还提供了可视化分析⽹络包的图形⻚⾯。这两个工具实际上是搭配使⽤的,先⽤tcpdump命令在 Linux 服务器上抓包,接着把抓包的⽂件拖出到。
2025-05-02 20:22:13
1897
2
原创 sys目录介绍
linux 下一切皆文件,文件的类型也很多,如普通文件,目录文件等,详细见下面表格。我们的硬件设备在/dev目录下都可以找到对应的节点,一般都是字符设备文件©和块设备文件(b)。操作/dev目录下相关的设备节点,来控制硬件属性,如使用open’、read等系统调用完成,或者直接使用echo(需要内核驱动实现对应的函数支持输入解析控制)和dd指令进行控制;操作proc文件系统下的相关文件,前提需要内核驱动实现proc_ops相关接口,然后通过echo指令进行控制;操作sysfs。
2025-05-02 15:25:02
1201
原创 mtrace和memleak源码分析
memleak 的原理是利用C语言的宏调用来替代原有的函数调用,如代码中调用malloc(s),实际是调用了dbg_malloc(s),其他的函数类似,如free,calloc都有一个对应的宏替代函数。节点保存了申请的地址,大小,申请内存的文件以及行数,然后前向节点指向上一次申请的内存节点。,在实际内存申请和释放的时候,hook会先拦截,完成信息的记录,然后继续原有的流程。上面的函数会从漏释放的内存的文件名,行数,以及大小进行打印。指针,新的钩子指针函数就指向了上面说的表格里面对应的函数。
2025-04-28 23:03:10
928
原创 sysstat介绍以及交叉编译
Sysstat 是一个功能强大的 Linux 系统性能监控工具包,提供实时监控和历史数据分析功能,帮助管理员优化系统资源使用和排查性能问题。cifsiostat:监控CIFS/SMB 网络文件系统的 I/O 性能的专用工具,监控其 I/O 活动,分析读写性能、延迟等指标,定位网络或服务器端的性能瓶颈。iostat:监控CPU 使用率和磁盘 I/O 性能,提供设备读写速率、吞吐量、请求队列长度等数据。mpstat:统计多核 CPU 的详细性能,支持按核心分组显示用户态、系统态、空闲时间等指标。
2025-04-24 22:06:21
852
原创 iostat指令介绍
iostat (input/output statistics),是 Linux/Unix 系统中用于监控CPU 使用率和磁盘 I/O 性能的核心工具,可实时展示设备负载、吞吐量、队列状态等关键指标。可以使用man iostat查看详细介绍。核心监控维度CPU 使用率:用户态(%user)、内核态(%system)、空闲(%idle)及 I/O 等待时间(%iowait)。磁盘 I/O:每秒读写请求数(tps)、数据量(kB_read/s/kB_wrtn/s)。数据模式首次报告:第一次。
2025-04-22 22:14:35
1608
原创 vmstat指令介绍
vmstat (virtual memory statistics) 指令可以用来分析进程、内存、交换页、IO块以及CPU的使用情况。-sh-4.4$ man vmstat # 会显示如下: NAME vmstat - 报 告 虚 拟 内 存 的 统 计 信 息。
2025-04-22 14:21:57
1157
原创 pidstat指令分析
pidstat(),进程ID统计信息,是 Linux 系统中用于监控进程资源使用情况的核心工具,属于sysstat套件的一部分。它能够提供多维度性能数据,帮助开发者快速定位系统瓶颈。pidstatCPU:用户态(%usr)、内核态(%sys)、虚拟化(%guest)的利用率。内存:物理内存(RSS)、虚拟内存(VSZ)、缺页错误率(minflt/s, majflt/s)。I/O:磁盘读写速率(kB_rd/s, kB_wr/s)。上下文切换:自愿/非自愿切换次数(cswch/s, nvcswch/s)
2025-04-17 20:53:27
1278
原创 mpstat指令介绍
mpstat 英文全称(),多处理器统计信息的含义。多核性能监控可实时监控每个 CPU 核心的利用率、中断频率、上下文切换等指标,适用于多核/多线程系统的性能分析精细化统计维度支持按用户态(%usr)、内核态(%sys)、I/O 等待(%iowait)、中断(%irq)等多维度统计 CPU 使用情况,帮助定位性能瓶颈动态采样与历史数据结合默认显示系统启动以来的平均数据,也可设置采样间隔(如mpstat 2 5表示每 2 秒采样一次,共 5 次),用于实时监控和趋势分析。
2025-04-17 15:31:33
788
原创 大小端理解
在介绍大小端之前,需要区分两个概念,数据表示和数据存储。数据表示计算机底层的数据都是二进制数据位0和1,8个bit组成一个字节,而字节是计算机处理的最小单元,每一个存储地址单元会存储一个字节,连续的的多个存储单元可以存储一个字和双字,具体取决于OS的位宽,见表1;对于多个字节的字和双字本身,就存在符号位、高低数据位的概念,见表2和图1;系统类型字(Word)的字节数双字(Double Word)的字节数16 位系统2432 位系统4864 位系统816表1系统类型符号位。
2025-01-10 00:37:11
1135
原创 UTF-8和Unicode转换
要说utf-8,就要先大概说一下它的大哥----“unicode"。基本的ASCII定义了128个字符,从0x00-0x7f,即使后面扩展的ASCII也只能表示256个字符,即0x00-0xff。这些字符表示英文是足够了,但是对于其他语言就显得捉襟见肘了,例如咱们的汉字。于是我们就用2个字符来表示汉字了。但后来2个字符也不够了,就慢慢拓展到3个字符。美国也意思到需要一种表示全世界字符的标准,于是,unicode就这么诞生了。unicode 规定了全球所有字符统一在一个集合,集合里面的元素互不相同。
2025-01-08 01:24:56
1656
原创 git理解记录
git作为分布式版本控制系统,开源且免费,相比svn集中式版本控制系统存在速度快(HEAD指针指向某次commit实体),离线式(没有网也可以commit),拥有多个完整独立的分支(不同用户本地clone的仓库包含完整记录)。git中,本地分支branch,远程分支remote branch,标签tag都是指向一个commit实体的指针,它们存在于.git/refs/xx中。项目开发中,某个关键功能实现,为了后续功能不会影响此功能,可以打一个标签,方便后续进行版本控制,找到之前的关键好的功能。
2025-01-05 19:04:53
958
原创 tftp环境搭建
tftp(Trivial File Transfer Protocol,简单文件传输协议)是 TCP/IP 协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务,端口号为 69。tftp协议在uboot、bash环境都可以支持,常见的服务端是 windows 本地环境和 linux服务器。
2024-09-09 01:17:00
1662
原创 字符编码转换
计算机可以识别并进行运算的只有0和1,世界上各种语言组成又是各不相同的,如何让这些文字可以被正常显示呢?当前的通用方案是:全部按照一种约定好的长度字节进行编码,如使用2个字节,同时建立一套2个字节的码表,把识别到的字符值去码表查找。其中,约定的长度可以定长的(gb2312和gbk),也可以是变长的(utf-8字符编码解决的也就是按照一种约定的长度解析字节流,然后在一个事先建立好的mapping中去查找所代表的的字符。
2024-09-07 22:43:31
1145
原创 RAW、RGB 、YUV三种图像格式理解
4:1:1:Y 分量的采样比例为 1:1,U、V 分量的采样比例为 1:4,即在水平方向上每四个 Y 像素对应一个 UV 像素,垂直方向上不进行压缩,在一些比较老旧的视频编解码标准中可能会使用。4:2:2:Y 分量的采样比例为 1:1,U、V 分量的采样比例为 1:2,即在水平方向上每两个 Y 像素对应一个 UV 像素,垂直方向上不进行压缩,可支持更多的压缩算法和更高的编码效率。Planar:将 Y、U、V 三个分量单独存放在不同的内存区域中,每个分量都是独立的一维数组,三个数组都存储着相同的宽度和高度。
2023-05-28 14:31:59
7607
1
原创 ldd 脚本分析
本文介绍了ldd指令的源码位置以及查看方法;本文分析了ldd脚本文件的实际执行流程;本文介绍了在交叉编译环境下移植ldd指令的方法。
2023-05-27 22:23:55
1738
原创 gcc确认编译器默认头文件
在进行开源库编译的时候,有时候使用的头文件并不在当前目录下,而是查找默认头文件位置。如果默认位置查找不到,会编译报错。这时候,就要确认,对应头文件的指令有没有进行安装,一般安装完之后,都会在或者中添加对应的头文件。
2023-05-21 22:45:21
1637
2
原创 Linux中PATH、 LIBRARY_PATH、 LD_LIBRARY_PATH
PATH和分别负责可执行文件、库文件编译时和运行时的路径搜索任务。这些环境变量可以通过export命令来修改,向环境变量中添加新路径(比如上面的示例),或者移除已有路径。环境变量那些事儿。
2023-05-20 21:29:29
2155
原创 linux动态库版本控制
innkname: libpng16.so`和`soname: lib16.so.16`都是指向`realname: lib16png.so.16.39.0`的软链接,链接时使用 linnkname,ld链接器会根据linkname指向的realname–>lib16png.so.16.39.0的文件头中找到实际的soname名字 `lib16.so.16`写入到 实际生成的共享库的头部。
2023-05-20 20:08:23
1143
原创 ./configure编译使用 --host、--target 和 --build 选项进行配置
--build、--host和--target选项含义
2023-05-14 00:06:47
6540
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅