自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zw1996的博客

不管成功与否,只有自己努力了才有资格知道结果

  • 博客(275)
  • 资源 (9)
  • 论坛 (1)
  • 收藏
  • 关注

原创 FFmepg-VS和QT环境搭建

一;vs开发环境搭建1、从ffmpeg复制相关文件到工程目录2、在src下建立vs工程3、编写代码,设置环境属性#include <iostream>using namespace std;//要引用C语言的库文件 则要加__Cpulsplusextern "C"{ #include <libavcodec/avcodec.h>}#pragma comment(lib,"avcodec.lib")//添加库文件,也可以在属性处添加int main(){

2021-03-08 21:03:17 6

原创 海思项目学习记录 -4、H.264及RTSP协议实时传输

一、H.264介绍1、h.264编码原理(1)图像冗余信息:空间冗余(一副图片一个区域的RGB或YUV变化不大)、时间冗余(视频时间过去但是图像没有什么变化)(2)视频编码关键点:压缩比、算法复杂度、还原度;(研究算法的关键就是这三者的平衡)(3)H.264的2大组成部分:VCL(视频编码)和NAL(压缩之后的视频流如何被网络传输,那边如何解码播放)2、编码相关的一些概念宏块 MB(macroblock) 多个像素组成的一个区域,就是因为在一份图像中在不同的一小个区域是具有相似性的,因此将整个

2021-03-05 15:13:45 54

原创 C++面向对象思维刷题

做题面试应该时刻保持面向对象的思维、封装的特性。要记得C++写库的人和使用库的人的协作,写库写成什么样子别人才敢用,才用得舒服顺手,都需要写C++库的时候考虑全面。三简单算法题;1、两个数组 都是从大到小 先合并成一个从大到小的数组2、合并重复区间,3、仿照vector实现动态数组题目不难,但是做起来的时候考虑不够全面,面向对象思维不够深,没有往那方面去思考。一;首先建立工程的时候就要注意,这是三道题目可以建立一个工程,分三个类,则一个main函数就可以完成测试,不需要建三个工程或者三个mai

2021-03-04 11:20:56 23

原创 海思项目学习记录 -3、ORTP库传输

1、ORTP库安装编译注意;要增加H.264的payload支持。在src/avprofile.c中357行添加:rtp_profile_set_payload(profile,96,&payload_type_h264);//这个96是h.264帧头的一个信息配置和编译、安装(1)进入ortp目录执行./autogen.sh(2)错误1:./autogen.sh: line 44: libtoolize: command not found解决:sudo apt-get instal

2021-03-02 15:45:06 23

原创 网络编程-卷一 第3、4章套接字编程和基于TCP套接字编程

第3章 套接字编程简介3.1、概述套接字地址结构的传递主要是两个方向;从进程到内核、和从内核到进程,地址转换函数;就是输入的是带.点的10进制数应该要转换为u32 int类型的数大小端问题,本地操作系统大小端不确定,但是网络传输一般都是采用大端模式,及高位数据在低地址。3.2、套接字地址结构大多数套接字函数都是需要一个指向套接字地址结构的指针作为函数参数的,因此每个协议族都定义他自己的套接字地址结构,并且以socketaddr_开头。3.2.1、IPV4的套接字地址结构 scoketaddr_

2021-03-02 13:48:45 19

原创 海思项目学习记录 -2、解析mmp的sample

对海思mmp的sample工程整体分析。阐述图像像素格式的RGB和YUV存储方式 以及视频缓冲池VB,VI,VPSS,VENC等模块。分析sample工程

2021-03-01 17:25:11 22

原创 海思项目学习记录 -1、HI3518E的sdk编译部署

视频行业涉及模块海思SDK初识、进行交叉编译工具链,mmp环境部署及介绍

2021-02-28 21:46:33 49

原创 杂项操作问题记录

1、USB转串口驱动安装无效问题;后面使用了CH340芯片后使用之前的PL2303驱动则识别不了。解决方法;下载驱动精灵进行扫描识别从而安装对应CH340的驱动

2021-02-28 13:34:48 27 1

原创 C++学习-7 模板之全面深入学习

C++模板和STL库的全面深入学习讲诉了模板的引入以及多场景的使用,如函数模板、单模板参数的类模板,多模板参数的类模板,以及他们的模板友元函数、模板友元运算符函数、和模板在类继承中的各种场景,还有模板类型推导及编译器的隐式转换。讲诉了STL的算法关键,以及谓词、函数对象,lamda表达式,函数适配器各种概念以及其使用方法,并且加入了模板的全特化及偏特化,和他们与普通函数之间的匹配规则,还有类型萃取以及泛型算法与迭代器萃取的关系。

2021-02-28 09:35:18 21

原创 linux之网络通信

该文章主要介绍了网络编程的基本硬件设备在网络通信过程中的作用,如中继器,交换机,路由器等,以及在网络通信过程中一些特殊的协议如DNS,DHCP,NAT及他们的作用。还将网络编程中需要使用的一些API进行了介绍,以及简单案例,最后还结合socket编程和thread线程实践一个单服务器多客户端向服务器注册学生信息的案例

2021-02-26 16:20:08 37

原创 linux之进程线程信号全解

涉及了atexit函数,进程中环境变量,以及进程线程作用,fork引入,以及父子关系,以及进程的诞生销毁和相关资源。进程的几种状态以及exec族函数介绍,守护进程的创建。linux进程间相互通信的手段介绍,IPC对象特性,管道以及实现全双工,FIFO实践单服务端多客服端线程介绍以及线程同步的相关技术

2021-02-25 20:56:47 16

原创 linux之获取系统信息

一;linux系统中的时间1、段时间和点时间定时器timer定的时间就是短时间、实时时钟RTC就是和点时间有关的一个器件2、jiffies的引入jiffies数值的本质是定义当前时间到1970-01-01 00:00:00 +0000(UTC)标准时间段转换为jiffies单位的数值。jiffies是一个linux内核的全局变量,这个变量用来记录以内核的节拍时间为单位时间长度的一个数值,这个时间节拍其实也是系统调度的时间片。3、linux系统如何记录时间内核在开机启动的时候会读取RTC硬件获取

2021-02-23 16:14:57 7

原创 linux之IO文件全解

一、文件操作1、静态文件和动态文件文件平时都是存放在块设备中的文件系统中的,我们把这种文件叫静态文件。当我们去open操作这个文件 的时候,内核在进程中就会建立一个打开文件的数据结构记录一下我们操作这个文件的信息(内核也会在内存中申请一块内存将这个静态文件的内存从块设备中读取到内存的特定地址用于管理,这个时候就叫动态文件)为什么要这样设计;因为块设备的读取操作不灵活,而内存则可以按字节读取,所以建立一个动态文件的机制便于管理。2、文件描述符文件描述符本质就是一个数字。这个数字就是与之前(内核在进

2021-02-23 15:19:38 13

原创 C++学习-6 如何很多全面学习C++面向对象特性;已基本完成、缺少总结和补充,后期补上

一;如何学习面向对象以及如何实现面向对象,面向对象要考虑什么问题1、如何学习面向对象 具体的学习方法就是先理念;再不同面向对象的语言特性,最后就是学习实战案例2、面向对象的编程步骤 需要注意的是一般面向对象的实现都是两部分人一个是类库的设计实现者,还有一部分是类库的调用者,学习面向可以需要有这种思维是分工合作的,很多特性都是为了保证这两部分的协作而引入的一些特性。3、原生支持面向对象和非原生支持面向对象 都能实现面向对象,只是原生的方便简单,而非原生的需要自己去实现一遍面向对象的细节。4、面向

2020-11-17 19:29:16 282

原创 C++记录本人学习博客-汇总----一步步完善自己的知识体系

1、C++系统学习路径博客记录1)C++学习-1(各种编译器,以及qt下使用qmake,cmake,linux下使用cmake管理)2)C++学习 -2 namespace大全3)C++学习 -3 C和C++的混合编程及库的调用4)C++学习 -4 查询C++标准库写应用层代码以filestream【缺少对标准库的解析】5)C++学习-5 普查所有C++关键词对其全面了解(2万长文配合诸多案例进行讲解)目前正在总结C++面向对象相关知识的总结,后面还有模板泛型相关的2、C++项目源码介绍1)

2020-11-11 21:24:15 100

原创 C++船长免费课程 Google测试框架实现

一;预备知识1、cout的本质;cout直接输出对象虚重载左移运算符,返回值和传参为左值引用和const引用,友元函数才能访问对象代码规范其实是不允许直接using namespace的应该具体using要操作的对象2、1)四种编程方式实现加法 面向过程 面向对象 泛型编程 函数式编程C++的语言特性很多,那么学习这些语言特性的时候要对应上这些语言特性用在了那个编程方式对于学习C++是很有帮助的#include <iostream>#include <cstdio&

2020-11-06 11:06:31 181 1

原创 C++学习-5 普查所有C++关键词对其全面了解(2万长文配合诸多案例进行讲解)

2万字长文结合诸多案例终于完成了对C++全面的基础排查以及总结,通过朱有鹏老师C++课程的学习,自己的实践总结,对C++所有的关键字进行系统性的了解。本文主要介绍了但是不局限与;详细介绍C++的四种cast、[reinterpret_cast、const_cast 、static_cast 、dynamic_cast]面向对象的一系列关键字以及其实战virtual虚函数,override重写,final终止继承、using还原访问权限、friend友元、explicit显示调用

2020-10-31 17:55:32 112 2

原创 C++学习 -4 查询C++标准库写应用层代码以filestream【缺少对标准库的解析】

1、查看C++标准库的三个方式man手册,但Ubuntu默认不安装,需要自己手动安装,但是linux下查看不方便。两个网址介绍;英文老但是全;http://cplusplus.com/reference/fstream/basic_fstream/中文并且更新到20;https://zh.cppreference.com/w/cpp/io/basic_fstream以使用读写文件的filestream为例;根据C++标准库网页参考编写注意可能会报错,可使用g++ 3.10Filestrea

2020-09-12 17:00:32 56

原创 C++解析json格式文本移植第三方库jsoncpp[缺源码解析]

一;’移植第三方库下载第三方库源码网站https://sourceforge.net/projects/jsoncpp/编译第三方库的静态libhttps://www.cnblogs.com/arxive/p/11220854.html注意链接时要与生成是的格式形式一致这里都是多线程的MDT链接https://blog.csdn.net/chenxun_2010/article/details/41847131编译的时候还注意包含include的时候采用""容易编过,二;使用第三方库..

2020-09-12 16:00:50 45

转载 Python3.7离线安装Requests无法正常使用问题(转载)

https://www.cnblogs.com/mrgavin/p/12291274.htmlPython3.7离线安装Requests无法正常使用问题继续搬砖…春节前,克服了网络受限的情况下离线安装Python库文件问题,传送门如下:https://www.cnblogs.com/mrgavin/p/12202214.htmlhttps://www.cnblogs.com/mrgavin/p/12206853.html个人比较倾向于第二种方式,说不上为什么喜欢,只要能离线安装成功就行。网络正常

2020-05-17 23:13:17 325 2

原创 C++学习 -2 namespace大全

需具备的知识体系知识1、编译链接编译:C和C++都是按行编译,因此如果需要调用一个函数,如果在调用之前的代码里面没有定义或声明则会报编译错误,找不到链接;主要是作用域和文件内外部链接属性相关的,这里就是要确保调用的时候能够找得到,编译和作用域的规则决定能否能够看到,链接是能够找到,而链接属性就会决定你是否能够找到。2、C语言中的常识1)static;主要是限制其修饰的在同一文件使用(具体...

2020-04-02 22:41:12 149

原创 C++学习-1(各种编译器,以及qt下使用qmake,cmake,linux下使用cmake管理)

一、基础C++1、g++和gcc都是ubuntu系统自带的,是一套的,因此很多使用都是一样的,2、g++ -v查看C++编译器版本号,可以查看出x86_64-linux-gnugcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.11)我们使用的是Ubuntu版本16,04,x86版本的gcc编译版本是5.43、-std=c++...

2020-03-29 21:36:24 442

原创 C++之调用脚本实现复制当前路径指定目录下文件到另外的地方

使用system()可以完成程序调用脚本,其实system(“pause”);就是这个原理的#include <iostream>#include <string>#include <vector>#include <windows.h>#include "MyFile.h"using namespace std;int main()...

2020-03-19 22:23:16 152

原创 基于QT的仓库礼品出入库管理(第一个给别人使用的软件)

软件界面涉及到的知识点;1、UI控件 布局,点击事件,表格的使用及点击表头的来进行筛选。2、整个文件、文件夹的处理。整个过程都是新建文件,读写文件,解析数值,计算库存,导出表格3、软件图像的替换,还需要利用格式化工厂将图片格式转换为icn的链接:https://jingyan.baidu.com/article/8cdccae9577d0e315413cd88.html;4、QT中r...

2020-03-08 18:04:07 559

原创 C++学习 -3 C和C++的混合编程及库的调用

1·如何混合编程;(1)程序编译过程:源文件->目标(库)文件->可执行程序->镜像文件(2)任何编程语言执行时都必须是可执行程序,所以都必须先被编译成目标文件(3)混合编程的“混合”操作发生在链接这一步2;C++和C混合编程的困难所在(1)C++和C都是编译型语言,互相混合相对容易(2)难点:C++支持函数名重载,而C不支持,因此编译器生成目标文件时,函数名在目标文...

2020-02-23 21:36:43 216

原创 Ubuntu16.04直接安装Vim失败(库依赖不匹配-一般可采用aptitude方式安装)

1;原因提示是;服务器的Vim版本与本地Ubuntu16.04中Vim相关 的库不匹配方案1;更新下载源;sudo apt-get update方案2;采用另外一种下载方法(aptitude;一种会提供解决方案选择的下载方法)ps;Vim安装好了之后,其实vi也是可以使用而不需要快捷键方式了。因为Vi其实也就是执行vim的一个符号链接...

2019-11-18 23:40:16 230

原创 QT项目之文件重复检测

QT文件重复检测项目主要完成一个路径下的所有文件的检测,通过读取每个文件独有的属性Md5值完成重复文件的鉴别。该项目主要涉及的知识点有;1、无边框窗口的拖拽,阴影(1)调用系统函数 //主要完成去除系统默认边框,将自己定义的Widght加边框以及退出,放大缩小按钮 //去掉系统边框 this->setWindowFlags(Qt::FramelessW...

2019-11-15 19:20:41 513

原创 “状态变化”模式的两种——State状态模式,Memento备忘录模式

当某些对象的状态经常面临改变的时候(状态的改变也会意味着行为也会改变),如何对这些变化进行管理,并同时维持高层模块的稳定。这就是“状态变化”模式需要解决的。State模式其实就是类似于策略模式,只是策略模式针对的是算法的变化,而我们这里是对象状态的改变,基本是一样的,(公司软件界面功能的跳转似乎就是用的状态模式,用一个类来存放操作与下一个该是什么界面。每个节点都变成单一的一个类,利用设置下一个界...

2019-08-18 15:32:26 157

原创 “接口隔离”模式

“接口隔离”模式其本质就是采用添加一层【间接】的稳定的接口,来隔离本来相互紧密关联的接口。其实间接的方法在之前很多设计模式都可以体现到,如依赖倒置原则,就是通过添加一层间接的接口,将new方法隔离出去,实现多态。这里统一将接口隔离只是他十分突出。1、门面模式;主要用于内部与外部之间的隔离。就是将一组关系很强的紧耦合的一组接口进行封装,并都交给一个接口,这就是门面,并且外部要访问这内部的一些接口只...

2019-08-11 19:57:56 57

原创 对象性能模式——单件模式和亨元模式

单件模式;之前的模式都是与项目整体的设计相关的,什么高内聚,松耦合、多态,隔离。但是对象性能模式不是从这些方面的设计模式、而是从软件的性能方面入手的、其实与公司代码里面很多类对象实现的那种单例是一个意思、唯一的目的就是如果这个类的对象在项目中要经常高频率的时候,那么如果常规的话就需要去不断new对象,那么就耗内存不利于项目的性能。因此就 出现了对象性能模式这两种模式、目的就是达到在整个项目中不需...

2019-08-11 19:00:13 133

原创 对象创建模式(跳过new直接的使用)

对象创建模式;就是通过对象创建模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖于具体的类)其中包括工厂模式;抽象工厂;原型模式;构建器;4个其实都是基于工厂模式有一点点 小变化。工厂模式就是定义一个用于创建对象的接口,让子类决定去实例化哪一个类,工厂方法就是使得一个类的实例化延迟到子类去。对象创建模式其实就是解决赋值时等号右边的new而形成的依赖实现类子类的问题。...

2019-07-28 21:23:45 137

原创 单一职责分类的装饰者模式和桥模式

单一职责大概就是让每个类的职责任务作用都是单一的,而不是臃肿复杂的。单一职责分类的设计模式包括装饰者模式和桥模式。装饰者模式;利用对象组合,解决主体类在多个方向上的扩展能力。桥模式;利用对象组合,解决“两个非常强的变化维度的设计问题”装饰者;采用组合而非继承的方法,实现了在运行时动态扩展对象功能的能力而且可以根据需要扩展多个功能,避免错误使用继承带来的灵活性差,多子类带来的问题。举例;...

2019-07-28 20:18:43 138

原创 组件协作分类的三大模式

组件协作模式;主要是通过晚期绑定实现框架与应用之间的松耦合。现在的软件开发都是分为框架与应用程序两部分,就以公司软件开发也是以这种模式的。组件协作模式主要包括三种模式;模版方法模式;用于有稳定骨架,但骨架中有存在变化点,将变化点交给子类实现策略模式;调用算法的流程是稳定不变的,但算法是变化的。观察者模式;一般应用于ui控件的通知和刷新1、模版方法模式概念;存在一个骨架是稳定的,把变化...

2019-07-21 20:47:53 267

原创 面向对象的设计原则——先放好概念,等学完26种模式之后再回过头来写心得

1、依赖倒置原则(隔离变化区)高层模块(稳定)不应该依赖于底层模块(变化),两者都应该依赖于抽象(稳定)。抽象(稳定)不应该依赖于实现细节(变化),而细节应该依赖于抽象(稳定)。大致分析一下,其实就是设计模式主要要隔离变化区,也就是把稳定的和变化的分开。那么什么是变化的呢?(这个要拿出时间轴,分析未来这个会有什么变化,有什么需求的增加减少,这个角度来考虑是变化还是稳定的)。学习设计模式一...

2019-07-21 17:43:05 67

原创 第一次半个月的自主学习关键点记录

拿完毕业证又回道通开始工作了,因为换导师了,刚来的一个月都在帮忙内测,部门主管就建议要求我们要自主学习一些东西,以便后面任务下来了,还要忙着一边学习一边用。并且当初只要我当天学习了,都要打卡给小老大看。因为今天也比较匆忙,和懒,嘻嘻嘻。所以也就简单的记录一下这些天学习到的一些关键点吧。1、首先是多语言编码的文件读写吧c++和mfc中都是直接使用ifs_in.imbue(locale(".6...

2019-07-21 16:38:17 185 1

原创 道通实习回顾笔记

从2月28号到今天4月30号,两个月的实习生活就这样飞速的快去了。在期间感谢各方热心的支持帮助和陪伴,也感谢自己的坚持奋斗,让自己在短短的2个月里有了很大的蜕变,感谢。接下来就大概说一下实习期的经过以及自己学到了哪些,以便后期回顾,记性比较差,不希望这段经历在后期被遗忘。首先是3月1号到3月7号那个很让我们很难忘的7天半军事化企业文化的学习,那里我们经历过凌晨0点多被紧急集合出去拉练,有过小组...

2019-04-30 21:14:07 615

原创 c++基础1----------------基于c的扩展

1;头文件问题#include “iostream”//首先iostream与iostream.h的区别iostream.h是早期c++对c的扩展还是使用的全局空间,已经不用了iostream是后期没有定义全局空间的,因此要使用cout,cin这些标准需要using namespace std才行c++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。2;命名空间...

2019-01-06 13:25:11 227 1

原创 c++类属性的局限和方法产生的原因

简单的C++程序求圆的周长和面积数据描述: 半径,周长,面积均用实型数表示数据处理:输入半径 r;计算周长 = 2πr ;计算面积 = π* r2 ;输出半径,周长,面积;首先看一个代码并采用内存分析法分析#include&lt;iostream&gt;using namespace std;//c++的命名空间class circle{public: double...

2018-12-15 16:24:07 250

原创 c中字符串和二级指针内存图

2018-12-02 20:14:29 347

原创 C指针强化

铁律1;指针也是变量,因此我们在画内存图的时候跟其他变量一样,只是我们存放的是一个地址,铁律2;理解指针必须要以内存4区和函数模型相结合,要确定指向的内存是否在其他地方还可以用铁律3;指针一般与函数参数一起应用———————参数可以分为输入型和输出型两种,看是否需要改变,可以加const表示。修改一级指针需要传入其一级指针的地址则用二级指针接收才能改变。一级指针典型用法(指针做函数参数)...

2018-12-02 17:11:31 452

安卓——蓝牙列表展示及点击事件

关于安卓附近蓝牙设备的搜索展示以及点击事件

2017-07-15

tabhost布局

该资源为一个tabhost 的ui布局,底部两栏的格式,点击课弹出相应 的界面以及点击和未点击有明显区别

2017-09-30

安卓——wifi列表展示以及连接

安卓wifi列表展示以及连接

2017-07-15

递归之分割问题

递归问题中的分割问题;包括直线分割最大化,封闭曲线分割最大化,折线分割最大化,平面分割空间等;

2016-03-29

安卓直接套用sqlite

对于第一次接触sqlite,要是工程含有保存历史信息而使用数据库的案例,该案例简洁明了可直接对sqlite的使用

2017-09-16

电话黑名单拦截

直接挂断黑名单电话,达到拦截电话的效果,使用TelephonyManager和PhoneStateListener实现的......以及其中还涉及了eclipse中的 aidl文件

2017-09-25

Viewpager布局

该源码为使用ViewPager的ui界面,为底部四个菜单,可点击可滑动到相应界面

2017-09-30

安卓智能教室

内部含有 wifi列表连接 AsyncTask线程和run线程的搭配 以及防微信界面ui。 是湖南省第一届物联网比赛的参赛代码 ,在移动物联网开发平台上对智能教室的第二次开发

2017-09-16

QT项目实战之文件重复性检测工具

QT文件重复检测项目主要完成一个路径下的所有文件的检测,通过读取每个文件独有的属性Md5值完成重复文件的鉴别。 主要涉及 1,无边框窗口的拖拽,阴影 2,一些控件的使用 3,线程的使用(处理UI线程与文件检测动作的线程,线程之间的信号结果的传递就是通过信号与槽来完成的) 4,一个动态库的制作以及调用的一个流程步骤的完成、 5,信号与槽的使用

2019-11-15

zw1996的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

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

TA关注的人 TA的粉丝

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