- 博客(96)
- 资源 (5)
- 收藏
- 关注
原创 02.Binder系统—数据结构
使用ioctl读或写时一定会传入一个结构体binder_write_read类型的变量,而binder中关键内容的内存拷贝则会采用mmap的方式来实现。数据的跨进程传递,只需要一次拷贝就可以完成的原理:当把同一块物理页面同时映射到进程空间和内核空间,这时在两者之间传递数据,只需要其中任意一方把数据拷贝到物理页面,另一方直接读取即可。总结:结构变量拷贝两次,内存buf拷贝与映射各一次。(出处。
2023-03-09 10:50:53 443
原创 01、YUV数据渲染到SDL窗口
YUV是一种表示颜色的模型。通常我们说的YUV是指YCbCr,Y:亮度分量,Cb:蓝色色度分量,Cr:红色色度分量,是标准YUV的一个翻版。
2022-08-03 12:29:45 420
原创 3-0 C语言指针的理解
数据在内存中的地址也称为指针,如果一个变量存储了一份数据的指针,我们就称它为指针变量在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。指针变量的值就是某份数据的地址1.1 定义指针变量在变量名前面加星号表示这是一个指针变量是一个特殊符号,表明一个变量是指针变量,定义 p1、p2 时必须带使用时:而给 p1、p2 赋值时,因为已经知道了它是一个指针变量,就没必要多此一举再带上,后边可以像使用普通变量一样来使用指针变量。也就是说,定义指针变量时必须带,给指针变量赋值时不能带在不同的场景下有不同的
2022-07-06 19:10:51 493
原创 this指针
实验1:若类成员函数的形参 和 类的属性,名字相同,通过this指针来解决。实验2:类的成员函数可通过const修饰,请问const修饰的是谁
2022-07-03 09:15:52 72
原创 C++面向对象模型初探
C++对象模型可以概括为以下2部分:1. 语言中直接支持面向对象程序设计的部分,主要涉及如构造函数、析构函数、虚函数、继承(单继承、多继承、虚继承)、多态等等。2. 对于各种支持的底层实现机制。在c语言中,“数据”和“处理数据的操作(函数)”是分开来声明的,也就是说,语言本身并没有支持“数据和函数”之间的关联性。在c++中,通过抽象数据类型(abstract data type,ADT),在类中定义数据和函数,来实现数据和函数直接的绑定。概括来说,在C++类中有两种成员数据:static、nonstatic
2022-07-03 09:12:59 130
原创 静态成员变量和成员函数
(1)关键字 static 可以用于说明一个类的成员,(2)静态成员提供了一个同类对象的共享机制(3) 把一个类的成员说明为 static 时,这个类无论有多少个对象被创建,这些对象共享这个 static 成员(4)静态成员局部于类,它不是对象成员3)疑难问题:静态成员函数中,不能使用普通变量。 //静态成员变量属于整个类的,分不清楚,是那个具体对象的属性。 3)疑难问题:静态成员函数中,不能使用普通变量。 静态成员变量属于整个类的,分不清楚,是那个具体对象的属性。...
2022-07-02 11:00:40 276
原创 对象的动态建立和释放(new和delete)
1)在软件开发过程中,常常需要动态地分配和撤销内存空间,例如对动态链表中结点的插入与删除。在C语言中是利用库函数malloc和free来分配和撤销内存空间的。C++提供了较简便而功能较强的运算符new和delete来取代malloc和free函数。注意: new和delete是运算符,不是函数,因此执行效率高。2)虽然为了与C语言兼容,C++仍保留malloc和free函数,但建议用户不用malloc和free函数,而用new和delete运算符 Test *pT1; pT1 = new T
2022-07-02 10:01:24 910
原创 构造函数的初始化列表
2.1 .必须这样做:如果我们有一个类成员,它本身是一个类或者是一个结构,而且这个成员它只有一个带参数的构造函数,而没有默认构造函数,这时要对这个类成员进行初始化,就必须调用这个类成员的带参数的构造函数,如果没有初始化列表,那么他将无法完成第一步,就会报错。当类成员中含有一个const对象时,或者是一个引用时,他们也必须要通过成员初始化列表进行初始化,因为这两种对象要在声明后马上初始化,而在构造函数中,做的是对他们的赋值,这样是不被允许的...
2022-07-01 21:14:26 174
原创 H264编码原理
视频的本质就是很多帧图片,在视频采集过程中其实就是图片采集,而h264编码就是对这些图片进行压缩,以便于存储和传输。H264压缩技术主要采用了以下几种方法对视频数据进行压缩。包括:经过压缩后的帧分为:I帧,P帧和B帧:除了I/P/B帧外,还有图像序列GOP。举个例子,如果你用摄像头对着一棵树来拍摄,1秒之内,实际你发生的变化是非常少的。1秒钟之内实际很少有大幅度的变化.摄像机一般一秒钟会抓取几十帧的数据。动画一般都是15帧/s,平时我们的视频文件一般也就是30帧/s,对于一些要求比较高的,对动作的精细度有要
2022-07-01 16:46:55 498
原创 01.LCD驱动框架-Fbmem.c分析
1、看一个驱动程序-从入口函数开始1.1 构造open read write 放入file_operation结构体
2022-06-01 16:08:45 304
原创 3 对象的构造和析构
3.1为什么有对象的初始化创建对象时,需要做某些初始化的工作,但是类的数据成员不能在声明类的时候初始化,所以编译器提供了一个构造函数来处理对象的初始化。构造函数时一种特殊的成员函数,与其他成员函数不同,不需要自己调用,是在建立对象的时候自动执行3.2 构造函数和析构函数#include <iostream>#include <stdlib.h>#include <string.h>#include <win......
2022-05-31 15:34:08 81
原创 2.2 RGB像素格式原理-实验QT渲染
.pro文件#-------------------------------------------------## Project created by QtCreator 2022-05-31T09:57:32##-------------------------------------------------QT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsTARGET = FFmpeg_SD
2022-05-31 14:12:36 197
原创 04.鸿蒙之helloworld
1、helloworld#include <stdio.h>int main(int argc, char **argv){ printf("\n************************************************\n"); printf("\n\t\tHello OHOS20210419!\n"); printf("\n************************************************\n\n");
2021-04-19 19:32:24 159
原创 03.鸿蒙使用NFS
1、NFS参考网址https://device.harmonyos.com/cn/docs/develop/kernel/oem_kernal_filesys_nfs-00000010501450512、NFS挂载#192.168.1.245 ubuntu的网址#/home/harmony/sqbin/nfs NFS路径mount 192.168.1.245:/home/harmony/sqbin/nfs /nfs nfs 1011 1000我想知道怎么更改开发板的ip为固定.
2021-04-19 15:09:59 348
原创 01.编译HarmonyOS HiSpark AI Camera
1、环境搭建参考如下链接https://blog.csdn.net/qq_33475105/article/details/109549056参考链接https://device.harmonyos.com/cn/docs/ide/user-guides/service_introduction-0000001050166905 官方链接2、编译python build.py ipcamera_hi3516dv300 -b debug编译的生产的文件在/home/harmon..
2021-04-19 10:36:43 294
mtd-utils_2.0.0.orig.tar.gz
2020-03-10
Onvif2.0协议
2018-11-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人