自定义博客皮肤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的博客

对素数判断的查表

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

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

原创 ldd 脚本分析

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

2023-05-27 22:23:55 1147

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

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

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

原创 Linux中PATH、 LIBRARY_PATH、 LD_LIBRARY_PATH

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

2023-05-20 21:29:29 1732

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

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

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

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

原创 设备树相关知识

linux设备树知识

2023-03-06 00:20:38 139

原创 python之函数返回值

python多返回值

2023-03-05 12:43:23 169

原创 python模块导入

python模块导入

2023-03-05 12:01:52 87

原创 uboot编译分析

uboot编译分析

2023-02-19 12:47:39 588

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

makefile 四种变量赋值操作

2023-02-18 22:06:16 205

原创 linux程序分析工具

linux程序分析工具

2023-02-17 00:59:47 358

原创 busybox理解

busybox个人理解

2023-02-13 23:45:22 327

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

原创 pyhton对象类型 之 数字

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

2022-04-10 11:52:21 972 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 672 1

原创 环境变量那些事儿

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

2022-04-08 00:57:03 794

原创 带版本号动态库

背景:在实际开发中,大部分链接使用的动态库都是.so后缀的(linux系统),但偶尔也会遇到带有版本号的动态库,如libGL.so.1.7.0,但是实际链接时使用的动态库是libGL.so ,因此此时就需要我们对其进行处理。查看所需链接动态库实际的路径find / -name libGL.so*查看系统环境变量路径# 方法 1printenv | grep PATH# 方法 2export | grep PATH建立软链接(把 1 搜索到的实际库链接到 2 的可用路径.

2022-04-03 21:20:01 776

原创 Ubuntu 16.04用户密码忘记重置过程记录

文章目录背景重置过程建议背景学生时代适应使用VMARE 装了ubuntu 16.04进行学习Linux,后来熟练后使用学生优惠买了台阿里云服务器,后续工作了大部分的操作都在阿里云上进行。最近,阿里云服务器到期了,不打算续费后,打算继续使用回虚拟机,然后就发现root密码死活输入的不对,在度娘上找的一些方法也不管用,后来一度想重装系统,考虑到许多的配置以及一些软件需要重新下载。纠结了2个小时,还是在度娘的指导下完成了密码重置。特记录中间遇到的坑点,与大家一起分享。重置过程度娘方法分析# 情景

2021-05-17 01:24:43 283

原创 ARM数据处理指令

文章目录ARM数据处理指令(一)1.数据传送指令2.算术逻辑运算指令3.比较指令ARM数据处理指令(一)1.数据传送指令MOV 数据传送指令.将8 位图立即数或寄存器(operant2)传送到目标寄存器Rd,可用于移位运算等操作.指令格式如下:MOV{cond}{S} Rd,operand2MOV 指令举例如下:MOV R1#0x10 ;R1=0x10MOV R0,R1 ;R0=R1MOVS R3,R1,LSL #2 ;R3=R1<<2,并影响标志位MOV PC,LR ;PC=LR ,子

2020-05-28 16:54:53 730

原创 shell脚本学习(一)

shell脚本学习(一)1. whatshell脚本就是一个包含一系列命令的文件。shell 读取这个文件,然后执行文件中的所有命令,就如同这些命令直接被输入到了命令行一样。2. format注释 --> #shebang -->#!–>告诉操作系统将执行此脚本所有的解释器的名字3. 可执行权限脚本常用的权限为 777 -->保证每个人都可以执行此脚本700 -->只有root可以执行此脚本4.变量定义 + 初始化 + 赋值 + 引用类

2020-05-17 16:45:49 199

原创 shell脚本条件判读的常识

shell脚本条件判读的常识1. 常见条件判断if [[ $REPLY =~ ^[0-3]$ ]]then commandelse commandfi2.常识符号描述$REPLYREPLY是一个变量,$REPLY表示读取变量的值=~正则匹配,用来判断符号左右两侧参数是否匹配^行首,一行之中第一个字符之前$行尾,一行之中最后一个字符之后^$表示空行[0-3]0~3之中的任意一个数字...

2020-05-17 16:44:57 232

原创 Makefile常用函数

文章目录Makefile常用函数1. foreach函数2. filter函数3. filter-out函数4. Wildcard函数5. patsubst函数6. notdir函数7. addsuffix函数Makefile常用函数1. foreach函数此函数使用循环操作,是仿照Unix标准shell的for语句;语法$(foreach <var>,<list>,<text>)流程将参数列表的单词逐一取出将取出的单词放到指定的变量之

2020-05-17 16:42:47 252

原创 硬链接 + 符号链接

文章目录硬链接 + 符号链接1. 概述2. 硬链接3. 符号链接 -->软链接4. 区别5. 总结硬链接 + 符号链接1. 概述Linux下的文件是通过索引节点(inode)来找到文件数据区块block,进而操作具体文件的。如下图,inode节点中记录4个block区块2 + 7 + 13 + 15,通过inode节点就可以找到文件数据区块了。2. 硬链接硬链接可以认为是一个指针,这个指针指向文件索引几点inode,系统不会为硬链接分配inode节点。每次添加一个硬链接,文件的链接

2020-05-16 14:55:46 229

原创 shell 简单命令使用

1. 简单命令使用显示系统当前时间和日期 --> date显示当前月份的日历 --> cal查看磁盘剩余空间 -->df显示空闲内存的数量 --> free关闭终端 --> exitssh 连接,运行此命令后会下线幕后控制台在图形桌面中,默认是有几个虚拟终端打开着 --> ctrl + alt + F1~F6 访问返回图形桌面 --> alt + F72. cd 有关的快捷键快捷键描述

2020-05-16 11:59:39 269

原创 stm32启动文件浅析(二)

stm32启动文件浅析(二)1. 启动文件使用ARM汇编指令汇总指令功能EQU伪指令,为一个常量取一个名称,类似于C语言中的 #defineAREA伪指令,定义一个新的代码段或数据段(ARM 汇编程序采用分段设计,一个ARM源程序至少包含一个代码段,大的程序可以包含多个代码段和数据段)SPACE分配一块内存单元,并用 0 初始化伪指令格式: {label}...

2020-04-04 23:51:20 341

原创 stm32启动文件浅析(一)

stm32启动文件浅析(一)1.概述最近在学习Linux系统移植的时候,在bootloader移植篇章的时候,了解到ARM 架构的单片机也有类似的bootloader,只不过是ST公司帮我们写好了,叫做启动文件。恍然,于是就来看看这个启动文件。2.stm32f10x芯片简介ST公司提供了3种启动文件,详见下表:启动文件对应芯片类型flash容量startup...

2020-04-04 23:47:32 237

原创 普通类型和类类型之间的转换

普通类型和类类型之间的转换文章目录普通类型和类类型之间的转换1.普通类型——>类类型explicit 关键字2. 类类型——>普通类型类型转换函数类类型之间的转换1.普通类型——>类类型问题:假如把一个 int 类型转换为 类类型,有什么办法呢?下面的直接转换是错误的:#include <iostream>using namespace std;cl...

2020-03-28 00:07:59 887

原创 c 语言数据类型的隐式转换

c 语言数据类型的隐式转换 + 数据溢出文章目录c 语言数据类型的隐式转换 + 数据溢出1. C语言的4种隐式类型转换2. 数据的溢出1. C语言的4种隐式类型转换情形转换情况算术运算低类型转换为高类型赋值表达式赋值符号右边的类型转换为左边的类型函数调用实参转换为形参的类型函数返回return 表达式的类型转换为返回值类型算术运算的自动转...

2020-03-27 21:49:59 379

原创 Qt消息模型

文章目录Qt消息模型1. GUI 消息驱动事件模型2. 信号与槽2.1 问题2.2 Qt的解决方案Qt的核心 ——QObject::connect 函数Qt 的"新"关键字自定义槽Qt消息模型1. GUI 消息驱动事件模型Qt 封装了具体操作系统的消息模型(跨平台)Qt遵循经典GUI消息驱动事件模型[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传 GUI ...

2020-03-25 21:07:35 205

原创 string类的疑问

string类的疑问与思考请看下面代码:void code(){ string s = "12345"; const char* p = s.c_str(); cout << p << endl; s.append("abcde"); cout << p << endl; /...

2020-03-24 23:28:59 85

原创 C++标准库的认识

c++ 标准库认识的图示名称描述C++ 扩展语法模块 编译器扩展库编译器厂商决定,不同编译器不同C 语言兼容库非 C 库,与 C 库头文件名相同,编译器厂商为了推广 C++ 编译器而增加,可以无缝编译 C 文件C++ 标准库 C 兼容模块与原 C 库函数功能相同 如<cstdio> <cmath> <cstring>...

2020-03-23 14:38:36 154

原创 友元函数

文章目录友元函数1. 友元的设计目的2. 友元的概念3. 友元的用法4. 友元的用法5. 注意事项6. 参考友元函数1. 友元的设计目的C ++ 天生的职责就是完全的兼顾 C 语言;C 语言可以使用指针访问结构体里面的成员;C++ 由于类的封装性使得类外不能访问类内成员;友元的设计是兼顾C语言的高效2. 友元的概念友元是 C++ 的一种关系友元关系发生在(函数–>类)...

2020-03-22 17:51:53 144

原创 gcc 编译命令

文章目录gcc 编译命令gcc 编译命令预处理# 直接输出gcc -E test.c -o test.i# 重定向输出gcc -E test.c > test.i编译生成汇编代码gcc -S test.i -o test.s汇编器生成可重定位目标文件gcc -c test.s -o test.o链接器生成可执行目标文件gcc test.o -o ...

2020-03-21 18:15:45 167

原创 C++ 类的二阶构造模式

文章目录二阶构造模式1.1 构造函数的回顾1.2 对构造函数的疑问1.3 疑问的解答2. 构造函数初始化不成功的解决2.1 解决方法一2.2 解决方法二3. 参考二阶构造模式1.1 构造函数的回顾类的构造函数设计之初是为了实现类成员变量的初始化构造函数与类同名并且没有返回值构造函数在对象定义的时候自动被调用,也可以在赋值时直接调用拷贝构造函数1.2 对构造函数的疑问void返回...

2020-03-21 18:07:12 155

原创 Linux内核镜像格式

Linux内核镜像格式【小比较】ImagezImage内核映像文件映像压缩文件大约4MB不到2MB常用Linux 内核镜像格式Linux内核有多种格式的镜像,包括**vmlinux,Image,zImage,bzImage,uImage, ** xipImage,bootpImage等。kernel镜像格式:vmlinuxvmlinux是可...

2020-03-21 16:05:47 498

原创 C++类的静态成员变量和静态成员函数

C++类的静态成员变量和静态成员函数1. 静态成员变量1.1 普通成员变量的回顾通过对象名能够访问 public 成员变量每个对象的成员变量都是类对象所独有的类的私有成员变量不可以被类对象直接访问,需要类的public成员函数访问1.2 静态成员变量静态成员变量属于整个类所有静态成员变量的生命周期不依赖于任何对象(与程序的运行期相同)可以通过类名直接访问publi...

2020-03-21 15:50:11 137

原创 关于函数参数的调用约定

文章目录1.概述2.函数调用约定2.1 调用约定描述2.2实例分析3.总结4.参考1.概述我们先来大概了解一下函数:变量有自己的类型,数组有自己的类型,函数也有其自己的类型,比如 char * func(int a[ ],long n); 这个函数的类型就是 char * (int *,long)函数我们在.h文件里面进行声明,在.c文件里面进行定义函数可以被其他模块调用本篇我们讨...

2020-03-07 19:19:35 347

原创 switch-case语句不加break为什么后面的语句可以继续执行?

1.概述if-else 结构和 switch-case 结构都可以用来作为分支语句的选择,但二者在使用方面还是有区别的:  if 语句适用于连续值的判断,例如一片区域的判断  switch 语句适用于对离散值的判断,例如单个数字或者字符在使用switch 语句的时候我们都知道需要在分支语句的最后加上 break;如果不加的话后面的语句会被继续执行,这是为什么呢?...

2020-03-07 17:15:27 7164

原创 strcpy函数 之 字符串字面量形参报错

1.概述使用指针p1和 p2 指向2个字符串字面量,然后使用strcpy(p1,p2)报错,显示段错误。char *p1 = "wzl";char *p2 = "zxp";strcpy(p1,p2);编译无错误,无警告;运行过程中: 段错误(核心已转储)2.分析“wzl" 与 "zxp”都属于字符串字面量等价于 == > char p1[ ] = {‘w’ , ‘...

2020-03-05 19:45:59 182

跟我一起写Makefile_陈皓.7z

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

2020-01-09

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

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

2019-05-31

空空如也

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

TA关注的人

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