自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq_40642828的博客

对素数判断的查表

  • 博客(81)
  • 资源 (2)
  • 收藏
  • 关注

原创 cJSON简单使用

本文介绍了cJSON的基本使用方法,对比了JSON与XML配置文件的特点,并详细解析了cJSON的数据结构和常用函数。

2025-06-02 17:05:18 1008

原创 vscode 连接远程服务器

摘要:本文介绍使用VSCode连接远程Linux服务器的方法。主要通过安装Remote-SSH插件实现可视化编程,具体步骤包括:安装插件后配置服务器IP、用户名等参数;设置SSH密钥实现免密登录;连接成功后即可在VSCode中直接编辑远程文件。该方法相比传统终端操作更高效,但文中指出暂未找到主动断开连接的按钮操作。(149字)

2025-06-01 23:16:08 975

原创 命令行式本地与服务器互传文件

命令行下的本地与服务器文件传输方法主要有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 979

原创 初识人工智能、机器学习、深度学习和大模型

之前经常听人说AI、机器学习,深度学习之类的词汇,总是傻傻的不了解他们的区别,近来有空,来通俗说说个人看了相关文章之后的了解。

2025-05-06 00:21:22 712

原创 docker介绍以及安装

大家有没有遇到这种问题,一个程序在自己这边运行的很正常,在另外的电脑上就会出现各种问题,有依赖呀,有配置呀,总会把我们折腾的半死不活,最后问题解决了,也就那么回事儿。那有没有一种技术可以让这种环境差异消除呢?有,它就是我们的docker技术。镜像(Image)类似于“应用的安装包”或“乐高积木模板”,包含运行程序所需的所有文件(如代码、库、配置、工具)。

2025-05-05 08:23:25 1120

原创 ssh连接云服务器记录

云服务器的ssh连接记录

2025-05-04 18:14:15 1068

原创 中间件和组件

中间件和组件是软件开发中两个重要的概念,但它们的定位和作用完全不同。中间件解决的事通信、跨系统、安全等问题,组件是解决具体业务模块,提高可复用性的功能。中间件,可以通俗理解为系统的“交通指挥”。定义中间件是位于操作系统和应用软件之间的“桥梁”,负责处理系统级服务(如通信、资源管理、安全等),让不同应用或组件能高效协同工作。特点底层服务:解决网络通信、数据共享等基础问题,例如数据库连接池、消息队列、负载均衡。标准化接口:提供统一的通信规则,让不同技术栈的应用能“对话”。通用性。

2025-05-03 23:42:15 653

原创 数据库介绍以及windows下mysql安装

我们浏览的淘宝商品页面详情、刷视频网站的一个个视频,这些数据其实都是存储在公司的存储系统中的。想象一下,如果我们逛淘宝,刷视频的时候半天点不动的情景(有点像早些年的android卡住情景),是不是很崩溃。因此,高效的读取、高并发的交互、高可靠性的运行是对大数据管理的考验。而我们的数据库,就可以高效用、高并发、高可靠性的解决这些问题。💭数据库是什么呢?数据库,通俗简单的理解,就是使用特定数据结构来组织、存储和管理数据的集合,可以理解为电子化的文件柜或数据仓库。🤔数据库有什么特点呢?数据结构化。

2025-05-03 22:26:46 1064

原创 linux下抓包工具--tcpdump介绍

⽹络世界中的数据包交互我们⾁眼是看不⻅的,这个时候对于我们而言就是很抽象,如果可以把交互过程“可视化”,我们就更容易了解网络了。tcpdump和wireshark就是2个分析网络的神器。tcpdump 仅⽀持命令⾏格式使⽤,常⽤在 Linux 服务器中抓取和分析⽹络包。Wireshark 除了可以抓包外,还提供了可视化分析⽹络包的图形⻚⾯。这两个工具实际上是搭配使⽤的,先⽤tcpdump命令在 Linux 服务器上抓包,接着把抓包的⽂件拖出到。

2025-05-02 20:22:13 1568 2

原创 sys目录介绍

linux 下一切皆文件,文件的类型也很多,如普通文件,目录文件等,详细见下面表格。我们的硬件设备在/dev目录下都可以找到对应的节点,一般都是字符设备文件©和块设备文件(b)。操作/dev目录下相关的设备节点,来控制硬件属性,如使用open’、read等系统调用完成,或者直接使用echo(需要内核驱动实现对应的函数支持输入解析控制)和dd指令进行控制;操作proc文件系统下的相关文件,前提需要内核驱动实现proc_ops相关接口,然后通过echo指令进行控制;操作sysfs。

2025-05-02 15:25:02 1037

原创 mtrace和memleak源码分析

memleak 的原理是利用C语言的宏调用来替代原有的函数调用,如代码中调用malloc(s),实际是调用了dbg_malloc(s),其他的函数类似,如free,calloc都有一个对应的宏替代函数。节点保存了申请的地址,大小,申请内存的文件以及行数,然后前向节点指向上一次申请的内存节点。,在实际内存申请和释放的时候,hook会先拦截,完成信息的记录,然后继续原有的流程。上面的函数会从漏释放的内存的文件名,行数,以及大小进行打印。指针,新的钩子指针函数就指向了上面说的表格里面对应的函数。

2025-04-28 23:03:10 783

原创 sysstat介绍以及交叉编译

Sysstat 是一个功能强大的 Linux 系统性能监控工具包,提供实时监控和历史数据分析功能,帮助管理员优化系统资源使用和排查性能问题。cifsiostat:监控CIFS/SMB 网络文件系统的 I/O 性能的专用工具,监控其 I/O 活动,分析读写性能、延迟等指标,定位网络或服务器端的性能瓶颈。iostat:监控CPU 使用率和磁盘 I/O 性能,提供设备读写速率、吞吐量、请求队列长度等数据。mpstat:统计多核 CPU 的详细性能,支持按核心分组显示用户态、系统态、空闲时间等指标。

2025-04-24 22:06:21 711

原创 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 1219

原创 vmstat指令介绍

vmstat (virtual memory statistics) 指令可以用来分析进程、内存、交换页、IO块以及CPU的使用情况。-sh-4.4$ man vmstat # 会显示如下: NAME vmstat - 报 告 虚 拟 内 存 的 统 计 信 息。

2025-04-22 14:21:57 981

原创 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 721

原创 mpstat指令介绍

mpstat 英文全称(),多处理器统计信息的含义。多核性能监控可实时监控每个 CPU 核心的利用率、中断频率、上下文切换等指标,适用于多核/多线程系统的性能分析精细化统计维度支持按用户态(%usr)、内核态(%sys)、I/O 等待(%iowait)、中断(%irq)等多维度统计 CPU 使用情况,帮助定位性能瓶颈动态采样与历史数据结合默认显示系统启动以来的平均数据,也可设置采样间隔(如mpstat 2 5表示每 2 秒采样一次,共 5 次),用于实时监控和趋势分析。

2025-04-17 15:31:33 591

转载 h.264编码原理

介绍h.264编码相关原理

2025-04-11 08:52:05 45

原创 python_幂函数_指数函数

对数组中的每个元素计算。

2025-04-07 12:26:02 1025

原创 大小端理解

在介绍大小端之前,需要区分两个概念,数据表示和数据存储。数据表示计算机底层的数据都是二进制数据位0和1,8个bit组成一个字节,而字节是计算机处理的最小单元,每一个存储地址单元会存储一个字节,连续的的多个存储单元可以存储一个字和双字,具体取决于OS的位宽,见表1;对于多个字节的字和双字本身,就存在符号位、高低数据位的概念,见表2和图1;系统类型字(Word)的字节数双字(Double Word)的字节数16 位系统2432 位系统4864 位系统816表1系统类型符号位。

2025-01-10 00:37:11 1073

原创 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 1455

原创 git理解记录

git作为分布式版本控制系统,开源且免费,相比svn集中式版本控制系统存在速度快(HEAD指针指向某次commit实体),离线式(没有网也可以commit),拥有多个完整独立的分支(不同用户本地clone的仓库包含完整记录)。git中,本地分支branch,远程分支remote branch,标签tag都是指向一个commit实体的指针,它们存在于.git/refs/xx中。项目开发中,某个关键功能实现,为了后续功能不会影响此功能,可以打一个标签,方便后续进行版本控制,找到之前的关键好的功能。

2025-01-05 19:04:53 915

原创 tftp环境搭建

tftp(Trivial File Transfer Protocol,简单文件传输协议)是 TCP/IP 协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务,端口号为 69。tftp协议在uboot、bash环境都可以支持,常见的服务端是 windows 本地环境和 linux服务器。

2024-09-09 01:17:00 1314

原创 字符编码转换

计算机可以识别并进行运算的只有0和1,世界上各种语言组成又是各不相同的,如何让这些文字可以被正常显示呢?当前的通用方案是:全部按照一种约定好的长度字节进行编码,如使用2个字节,同时建立一套2个字节的码表,把识别到的字符值去码表查找。其中,约定的长度可以定长的(gb2312和gbk),也可以是变长的(utf-8字符编码解决的也就是按照一种约定的长度解析字节流,然后在一个事先建立好的mapping中去查找所代表的的字符。

2024-09-07 22:43:31 993

原创 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 6822 1

原创 ldd 脚本分析

本文介绍了ldd指令的源码位置以及查看方法;本文分析了ldd脚本文件的实际执行流程;本文介绍了在交叉编译环境下移植ldd指令的方法。

2023-05-27 22:23:55 1598

原创 gcc确认编译器默认头文件

在进行开源库编译的时候,有时候使用的头文件并不在当前目录下,而是查找默认头文件位置。如果默认位置查找不到,会编译报错。这时候,就要确认,对应头文件的指令有没有进行安装,一般安装完之后,都会在或者中添加对应的头文件。

2023-05-21 22:45:21 1537 2

原创 Linux中PATH、 LIBRARY_PATH、 LD_LIBRARY_PATH

PATH和分别负责可执行文件、库文件编译时和运行时的路径搜索任务。这些环境变量可以通过export命令来修改,向环境变量中添加新路径(比如上面的示例),或者移除已有路径。环境变量那些事儿。

2023-05-20 21:29:29 2022

原创 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 1020

原创 ./configure编译使用 --host、--target 和 --build 选项进行配置

--build、--host和--target选项含义

2023-05-14 00:06:47 6041 1

原创 设备树相关知识

linux设备树知识

2023-03-06 00:20:38 255

原创 python之函数返回值

python多返回值

2023-03-05 12:43:23 300

原创 python模块导入

python模块导入

2023-03-05 12:01:52 138

原创 uboot编译分析

uboot编译分析

2023-02-19 12:47:39 863

转载 Makefile中四种赋值=,:=,?=,+=

makefile 四种变量赋值操作

2023-02-18 22:06:16 464

原创 linux程序分析工具

linux程序分析工具

2023-02-17 00:59:47 582

原创 busybox理解

busybox个人理解

2023-02-13 23:45:22 423

原创 python内置对象之字符串之基本介绍

文章目录1. 前言2. bytes和str的区别3. 常见字符串常量以及表达式4. 转义序列raw字符串–抑制转义5.多行字符串表示6.规划1. 前言字符串是标编程语言中表示文本的数据类型,存储上类似于字符数组,每一个字符元素都可以进行 提取用来操作。从存储的角度来说,字符串表示的是对应长度的ASCII字符的集合,对于任何语言来说都是一样的。C原因中使用char []类型表示字符串,C++和Java使用string表示字符串,与之对应的存在诸多字符串操作函数。现在的python3使用unicode文本

2022-04-17 23:53:08 746

原创 pyhton对象类型 之 数字

contents前言python基本内置对象数字类型总结前言程序,是由数据结构+算法构成,简单的说就是让算法去处理各种数据结构对应的结构对象,就好比食材以及厨具的关系。无论是动态语言还是静态语言,从本质上说都可以如此理解。因此,对象是最为基本的存在。python程序从上到下分解如下:模块–>语句–>表达式–>对象。python基本内置对象一门强大的语言包含诸多内置对象,我们可以直接使用,必要时可以自己根据内置对象创建自己需求的对象。python部分内置对象如下:内

2022-04-10 11:52:21 1135 1

原创 python学习之 “__name__”

文章目录python学习之 “*\_\_name\_\_*”前言python 文件执行方式\_\__name\_\__变量举例总结python学习之 “__name__”前言初学python的时候,了解到python作为脚本语言,需要依赖解释器进行解释,和shell有很多类似的地方。shell脚本有4种执行方式,参见下表,那么python文件有多少种执行方式呢?带着这个疑问,就有了本篇文章。执行方式举例(/home/zhonglai/zl.sh为例)当前路径执行./zl.s

2022-04-09 12:45:31 847 1

原创 环境变量那些事儿

目录环境变量的那些事儿前言环境变量分类交互式、非交互式,登录式、非登录式Shell配置文件参考环境变量的那些事儿前言经常遇到在编译相关库或者可执行文件的时候,显示相关库或者其他 依赖找不到,可是我的库或者依赖就在某个路径下呀,使用find指令还能搜到呢。其实问题的原因就在于机器它不那么儿“聪明”,它不知道你实际的路径,就如同是你有一个非常听话的孩子,你只告诉他红薯,他不会去吃土豆一样。环境变量分类在windows下,我们在配置环境变量的时候,会看到用户变量以及系统变量;在Linux下,也有同

2022-04-08 00:57:03 855

林锐《高质量C++编程指南》.pdf

可以对比自己c++编程的习惯,使自己更加熟练和掌握c++这门古老的语言。

2019-05-31

跟我一起写Makefile_陈皓.7z

本文篇幅较大,建议分节浏览,初学者要有耐心去观看,在看本文之前,可以先复习一下c语言中编译和链接的过程,每个过程生成的文件类型。

2020-01-09

空空如也

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

TA关注的人

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