自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zanglengyu的专栏

拧月如风

  • 博客(71)
  • 资源 (15)
  • 问答 (1)
  • 收藏
  • 关注

原创 Qt图片等资源管理

这样引用的就是第二个qrc中的图片。:/myimg 是资源描述符的前缀,可以为空,添加后目录结构。二者的前缀一样,如果一样,且存在相同路径的图片时,后面的会把前面的覆盖。这个就是基于linux下或者winodows下的文件相对路径的写法。可以添加多个qrc文件,第二个前缀描述符为空,可以直接使用。2,可以格局可执行程序的路径放置,在代码中用相对路径使用。使用的时候,可以在代码中这样写。或者直接写成绝对路径。

2024-04-19 13:18:22 234

原创 XUbuntu18.04 源码编译Qt4.5.3的过程

至找打了这几个的安装包,也就是deb包,安装的时候,也是各种坑。总结下来,就是更新sources.list中的ubuntu源的版本,由于gcc4.4在低版本的ubuntu的源里,所以更新后,就能安装了。对Qt4.5.3支持的最好的gcc是4.2.x系列,已经是十几年前的东西了。1.Qt4.5.3的在linux上只能源码编译安装,需要找低版本的gcc,找gcc的过程很麻烦。-j4是开启4核编译,我的虚拟机最多4个核心,所以就只能是-j4。但是ubuntu的镜像源上,很难找到低版本的gcc。

2024-04-19 11:25:56 264

原创 Qt 旧版本下载地址和使用mingw编译的问题

由于windwos上没有安装VS相关的东西,用的mingw版本的,结果4.5.3里边不带mingw的编译器,网上也很难下到和4.5.3已经编译好的匹配的版本。所以用下载的mingw4.4.x系列版本,重新编译了Qt的源码,才能用。由于工作中用到了很老的版本,比如4.5.3。:这个是新的下载地址。

2024-04-18 10:43:11 200

原创 快速排序的3种写法

快速排序

2023-10-17 17:13:13 155

原创 堆排序,以及大顶堆构造过程Java实现

具体编码建议,在第二步中,如果依次遍历,将会存在大量重复计算节点的操作。因为是从叶节点开始,那么每个节点有两个叶节点,就会找两次,所以每次找完,下标-2就行,直接进入下一个根节点。第三步中,有可能找不到叶节点,当找不到左右节点时,直接跳出循环就行了,说明已经将所有的根节点找完了。根找完了,就说明调整完毕。依次从最后一个节点开始,查找每个节点的根节点,然后根据根节点,继续找出左右子节点,在三个节点中取最大值和根节点交换位置。依次从一个节点开始,查找每个节点的左右子节点,在三个节点中取最大值和根节点交换位置。

2023-09-07 12:52:12 209

原创 关于d3dva11解码H264编码报-1094995529错误的问题

也就是cmsOpenProfileFromMemTHR 这个函数报错了,经过Chatgpt,这个函数是预加载颜色空间后,与实际的传入的颜色内存空间进行校对。校对失败就会出现这个问题。问题的根本就在于D3Dva11硬解码器,是不支持BP的,他对H264的颜色空间有一定要求。简称为BP,MP,HiP这三种配置,Base Profile是对于一些比较差的设备用来解码的。解码器的配置都是正确的,一番操作,发现是H264 profile的问题。经过排查源码,发现这个函数在底层执行的时候,会进行颜色空间检测。

2023-08-29 13:09:11 426

原创 TX2 NX上gstreamer融合音视频示例及更多示例

/ nvcompsositor 的两个输入必须是一样的图片格式和内存形式,需要将云图透明部分用白色(255,255,255)填充。将mp4和wav融合成一个新的mp4。视频录制h264编码。

2023-06-07 09:21:59 549

原创 onvif server端鉴权函数

另外,客户端发过来的密码是加密的,具体是怎么加密的请参阅官方文档,这里直接用相应的函数实现与后端密码对比。鉴权的原理:根据客户端发过来的账号密码,监测是否与服务端设置的账号密码是否正确。客户端测试软件:ONVIF Device Manager V2.2.250。客户端写错账号,或者不填,或者写错密码,都是可以提示错误的。

2023-05-09 09:39:55 766 2

原创 精确时间同步协议(PTP)C++实现

PTP协议有多种实现方式,其同步模式分为请求应答模式,和端到端模式。包含域,时钟类型,等基本概念,域代表参与同步的域号,每个参与同步的设备都会有一个域号,相同的域号代表他们属于同一个域。之前研究的时候,看到的都是C语言的示例,C语言实现网络通信,需要基于socket,自行封装解析,写起来很复杂,如github上的ptpd开源项目。前期研究花了一些时间,用Qt的UDP实现,用了一天时间。研究了其协议字段,直接用Qt的udp硬撸了一下,差不多花了一天半的功夫,编码加调试,期间有顿悟!算是从不懂到手撕了!

2023-04-27 09:00:23 1597 1

原创 git 笔记

第二种方法就是先将本地的项目初始化为一个git仓库,然后再强行合并本地仓库和远程仓库,由于这两个仓库是完全不同的两个仓库,所以直接pull都会报错,需要在pull的时候假加上–allow-unrelated-histories才可以pull成功。5、pull远程仓库的内容,更新本地仓库,使用–allow-unrelated-histories忽略本地仓库和远程仓库的无关性,强行合并(关键):git pull origin master --allow-unrelated-histories。

2023-03-24 10:30:12 52

原创 git命令快速入门

将暂存区提交入本地仓库,也就是将绿色状态的提交入库,入库后,工作区与暂存区和仓库中代码一致,git status,是看不到提示的。将本地仓库的commit,推入远程仓库,如果远程仓库也有修改,需要先更新代码,才能提交,如果远程仓库的地址和本地仓库映射的远程仓库的地址不一样,是无法同步推送和更新的。从远程仓库拉取最新提交代码,并与本地仓库代码合并,如果本地仓库有提未提交的代码,需要先提交本地仓库代码。如果有冲突,需要解决冲突。将暂存区的内容还原到工作区,可以还原文件,以及回退提交,本地仓库和暂存区不受影响。

2023-02-28 11:16:48 269 1

原创 使用Gstreamer+OpenCV实现两路图像数据混合拉流推流

由于混合的时候需要保留透明度,但是OpenCV不支持四通道的数据写入。所以只能利用VideoCapture先拉到摄像头数据,利用要混合的图片,手动计算叠加。推流后用相关视频软件拉流就能看到效果,如PotPlayer 64 bit,VLC等等。我需要实现的功能是在TX2 NX,拉取摄像头数据,并再摄像头数据上与另一张图片混合。由于用到了rtspclientsink插件,所以需要安装rtsp插件。为提高效率,通过将线程绑定在固定CPU上,提高了线程优先级。2、可学习gstreamer,图像混合的一些插件用法。

2022-12-01 13:04:30 5220 12

原创 C++获取当前系统时间并转为,年月日时分秒毫秒的格式

【代码】C++获取当前系统时间并转为,年月日时分秒毫秒的格式。

2022-11-30 17:12:15 1585

原创 Linux下基于Bluez开发USB蓝牙SPP服务端

解决办法就是修改系统中蓝牙服务的启动选项,-C的意思就是compat,兼容性模式运行蓝牙服务,因为bluez5.x的版本去掉了socket的方式连接蓝牙,所以我们需要手动开启。这句也很重要,我们要在设备上建立SPP协议的服务。发现提示说他的连接地址和我代码中的不一致,虽然我写对了,但是str2ba是我从网上下载下来,修改的。由于是在linux上运行的,所以参考的bluez的代码,用C语言实现了蓝牙的Server端。问题就是他是逆序的,同样的,在初始化地址那里需要用逆序,这样他才能用正确的地址。

2022-11-30 16:26:14 3541 5

原创 WebRTC点对点通讯建立连接的流程

WebRTC是一种点对点的通讯机制,是在两个客户端建立了RTCPeerConnection连接后,进行通讯,可发送音视频流,也可以发送消息,如文字等等。登陆成功后就创建了一个连接,如果是多对多,则需要在每当有人加进来的时候,其他的人都需要在创建一个链接,并与新加入的人建立ygie连接。也就是,当客户端A接收到onicecandidate信号后,通过Server向客户端B发送候选请求,B记住A的候选人信息。完成这一步,就是完成了P2P的连接。B收到offer请求,后答复A,答复后,同时告知A我是的候选人。

2022-11-04 23:55:59 848

原创 QML TabView中Tab控件无法访问子控件id的解决办法

Qml中动态修改TabView中的子控件内容

2022-09-09 09:09:16 369

转载 c++ windows console 快速编辑模式 代码关闭(转载的)

原因windowsPowershell分快速编辑模式和标准模式.当处于快速编辑模式时,鼠标点击控制台会导致,改程序被阻塞.且系统默认情况下,是快速编辑模式。问题win10下编写Windows下控制台程序时发现程序经常被阻塞.解决通过代码重置控制台的属性....

2022-07-18 17:22:51 483

原创 VS2019+cmake 方式添加ffmpeg库文件,cmake添加lib文件dll文件,包含目录示例

cmake_minimum_required(VERSION 3.10)project(${PROJECT_NAME} CXX)set(CMAKE_CXX_STANDARD 17)set(CMAKE_CXX_STANDARD_REQUIRED on)project(wfdb_demo)set(ffmpeg501 "D:/work/ffmpeg-5.0.1-full_build-shared/ffmpeg-5.0.1-full_build-shared") include_directories(${

2022-06-29 17:49:15 2694 1

原创 VS2019+CMake编译代码,windows.h与winsocket.h编译冲突,提示变量重定义解决办法

解决办法很简单,在CMakeLists.txt,添加预编译选项Add_Definitions(-DWIN32_LEAN_AND_MEAN)在工程的最顶层目录下的CMakeLists.txt中加上上面这行。

2022-06-10 13:31:49 505

原创 VS2015安装报“安装包丢失或损坏”(win7)问题的解决办法(证书安装后无效,仍然无法解决请尝试本文)

win7安装VS2015提示文件损坏,安装证书后依然无法解决问题的解决办法

2021-12-17 20:06:34 4483

原创 嵌入式平台Qt项目使用backtrace函数抓取崩溃堆栈并解析的方法

1. 按照龙骨群中的说法,dragonbone的插件选用3.0

2021-07-06 09:11:08 2350 3

原创 linux开机启动tomcat

#!/bin/sh# chkconfig: 345 99 10# description: Auto-starts tomcat# Auther: Lex Mc# /etc/init.d/tomcatd# Tomcat auto-start# Source function library.#. /etc/init.d/functions# source networking configuration.#. /etc/sysconfig/networkRETVAL=0export J

2021-02-22 14:40:42 117

原创 数据库备份脚本

#!/bin/shDUMP=/home/idl-face/databus5535/bin/mysqldump #mysqldump备份程序执行路径OUT_DIR=/home/mysql_data #备份文件存放路径#LINUX_USER=root #系统用户名DB_NAME=face #要备份的数据库名字DB_USER=root #数据库用户名DB_PASS=Bs~XIsDDv4XcDGCt\)S\(+4*yjQ&8NJh ...

2021-02-22 14:39:50 165 1

原创 树的相关知识回顾

树的数据结构相对来说也比较好理解。但由于为了查询效率和存储效率,又有多种树形结构,对树进行了限制。如二叉树,平衡二叉树,红黑树,B树,B+树。其实也没多少多复杂,只是愿不愿意花时间去研究。个人花了点花时间回顾了一下平衡二叉树和二叉树的理论和实现。红黑树和B树,B+树暂时没有去研究。后续有空了再补。只是将具体的特点大概了了解了一下。代码是关于二叉树和平衡二叉树的代码实现。P4.h#pragma once#include <iostream>#include <vecto

2020-10-26 11:49:00 106

原创 图的基础算法

图的表示方式一般有两种,链表和矩阵。图的相关算法比较简单,深度,广度优先遍历,深度可以用递归。广度需要用队列先将访问过的层级加入队列,直到这一层的节点访问结束,进入下个几点再遍历。最短路径问题最短路径给出的条件就是起点和终点,最短路径问题是解法多种多样,只复盘了Dijkstra算法这个。这个算法的核心有两个,一个是保存从起点出发到达每个顶点的路径数值,然后从最短的那个点出发。修改路径数值表中,可以由这个点联通,并且经由这个点的路径值比原来还小的话,就更新数值表。示例,a点到b点是3,到c点是5,

2020-10-21 10:46:10 319 1

原创 回顾单链表,堆栈,队列,双链表数据结构

这几个数据结构还是比较通俗易懂的,其中堆栈和队列可以用数组封装实现,也可以用双端链表实现,等等不多复述。个人感觉数据结构真正复杂的是树型结构,多叉树,二叉树,平衡二叉树,B+树,B-树,红黑树,他们关系和区别,目前也说不清楚。这一块是我感觉很薄弱的地方。简单写了个单链表,其他的懒得写了,下篇开始搞搞树型结构P2.h#pragma once#include <iostream> using namespace std;template <class T>cla

2020-10-16 15:18:25 137

原创 简单回顾一下十大排序算法

#include "P1.h"#include <iostream>#include <list>#include <vector>using namespace std;P1::P1(){}P1::P1(int *p,int size){ m_array = p; m_size = size;}P1::~P1(){}/*冒泡排序*/void P1::swap_bubbleSort(){ randomSort();.

2020-10-16 11:31:42 128

原创 九、排序与分组

先来说说排序,排序其实很简单,就是指定查询出的结果中的字段用来排序,字段可以是多个字段。如创建一张学生表,现在根据性别查询学生,根据学生姓名和年龄排序 组合升序排序。升序是使用ASC字段。select * from student where sex = 'm' order by stName,age ASC排序的语句通常是order by [字段1],[字段2] ASC/DESC; DESC代表的是降序排列。分组其实也比较简单。分组的核心理解应该这样去理解,选定一个表...

2020-06-24 11:40:17 540

原创 八、union语句

union语句比较简单,就是把两个select集合的数据合并成一个集合,当然这两个表的列名的个数要一致。select name ,id from st WHERE name like '张%' union all SELECT id,name from student_parent where name like '张%';合并时,以前面的语句的列作为合并的列,如果个数一致,类型不一致,合并时也是能合并的,但是数据已经错乱,得到的结果是没有是没用数据。另外union之后的数据默认是去.

2020-05-14 14:08:06 1151

原创 七、LIKE条件

一般在查询数据库的时候,我们常用的都是=来查找某个表的特定信息。比如select * from st WHERE name ='张小平';可以查出以下语句,但假如我们想找以下所有姓张的同学,这就需要用到like语句,like语句一般是和字符串的匹配类似。LIKE语句后面一般采用 %标示任意字符,比如下面这个语句就可以查出所有姓张的同学。select * from st WHERE name like '张%';百分号的位置代表匹配的其他字符的位置,如果写成%张,就会查出名字中第一个字

2020-05-14 13:52:11 1479

原创 六、插入数据与查询数据

INSERT into st (id,classId) VALUES(5,1),(4,2),(6,3);向st表中插入多条数据,插入语句的格式为 INSERT into st (列名) values(每一列对应的值)。部分指定列名可以插入部分数据,若是指定全部列名,则可以省去列名的选项。INSERT into st VALUES(7,1,"大白","男"),(8,2,"aa","女"),(9,3,"luoli","女");插入数据较为简单,我们接下里看看查询数据。select * ..

2020-05-13 15:30:35 379

原创 五、更改数据表

一般表格创建好以后,很可能需要修改和表相关的内容。如修改表名,修改列名,类型,增加列等等。删除列,ALTER TABLE 表名DROP 列名;ALTER TABLE student DROP `name`;这样就删除了表中name那一列。增加列,增加时可以指定列名,和字符类型和列的位置顺序,这是类型等等。ALTER TABLE student add `name` varchar(200) FIRST;ALTER TABLE student add `name` varcha..

2020-05-12 16:51:51 249

原创 四、创建数据表

创建数据表需要制定表名字,表中的每一列的列名和对应的数据类型,在数据类型中还可以加入数据类型的一些默认设置。通用的穿件表的SQL语句如下:首先我们先选中创建的数据库,use Student;CREATE TABLE `student` (`id` int(11) NOT NULL,`name` varchar(100) NOT NULL) ;如我们先创建一个学生表。这里的符号不是单引号,要注意下的。这里的符号是数字键1左边那个按键符号。这就是最基本的创建表的命令了。这个表里,...

2020-05-11 15:37:13 759

原创 三、数据库的数据类型详解

数据类型对于数据库的性能是有一定的影响的,如果一个数值采用的不恰当的数据类型,那么将会导致数据库性能下降。这里先提到一点,我也是刚学,后面具体在分解其中缘由。Mysql支持SQL的所有类型,分为数值类型,字符串类型,还有日期类型及其他类型。我们先来看看数值类型。数值类型和我们写代码中常用的int,long,float,double差不多。int分了多种类型,其中数值正是根据有无符号来决定的。比如TINYINT的无符号取值范围就是,2的七次方减1,无符号就是2的8次方减1。在计算机上有符号类型的,

2020-05-11 14:28:03 594

原创 一、关系型数据库和MySql

关系型数据库管理系统(Relational Database Management System)即RDBMS。他的表现形式主要体现在以下几点:1. 每一个数据库会有多张表2. 每张表存在行列,一行为一条数据。3. 一列为一种数据类型,表中第一行为列名市面上的数据库有Oracle、SQLite,MySql,其中Mysql以开源免费著称,所以在中小型的项目中应用广泛。MySql是由瑞典公司开发,现在属于Oracle公司。MySql可以处理千万级的数据,支持多种开发语言,支持标准的SQL

2020-05-09 12:21:40 394

原创 二、创建和删除数据库

首先在系统上安装mysql,我使用的是windows系统。安装教程具体可以参考这个链接https://blog.csdn.net/u013235478/article/details/50623693建议一开始大家不要用界面工具,最好使用命令行练练手。安装完以后,打开命令行,登录mysql,就可以愉快的玩耍了!在命令行界面输入:mysql -u root -p在输入密码,登入本机的mysql。登录成功之后,弹出这个画面接下来,就可以使用命名行创建一个数据库了,我们先创建一个学生的数据库。

2020-05-09 12:21:24 250

原创 MySql数据库教程开篇

本人做了多年的游戏客户端开发工作,近来由于公司游戏业务关闭,转岗去了java web服务端开发。将近8年的游戏开发工作暂告一段落,年龄也比较大了,学习的欲望已经没有以前那么强烈。而且mysql学了一阵感觉不够深刻,干脆趁着最近时间比较多,写一写总结教程之类的东西加深理解。也算是一个督促吧。先来说说什么是数据库:数据库是指存放数据的仓库,负责按照指定的数据结构对数据进行存储,删除,查找,更新等等管理数据的操作。一般来说我们存储数据的常见方式就是用文件,只是一般的文件存储,在数据太大的时候,这.

2020-05-09 11:35:35 123

原创 Cordova Android平台上自定义插件和使用方法

如何自定义插件网上文章一大推,我推荐这篇,写的很详细也很好理解https://blog.csdn.net/u014284625/article/details/79922677这里我遇到两个问题,第一个就是文章最后所说的,访问时被拒绝了,是因为google浏览器的问题,我加入了文章中的方法依然不行。其实我的调用是没办法放在html里边的,所以另一个问题就是如何在js文件中调用,...

2019-03-25 15:15:25 150 1

原创 解决Xcode9.4下复制12.x ios系统版本,重启Xcode无效的问题

https://blog.csdn.net/duotemplar/article/details/80355402先参考以上链接,我通过上个链接解决了问题,不过我遇到了一个权限问题,这里备注下吧.有需要的拿走除了复制文件还需要修改这个文件,将里边的版本全部改成添加的,如果遇到权限问题无法保存,需要手动获得权限3、修改SDKSettings.plist文件中的版本号按照/Applic...

2018-11-13 00:11:12 449

原创 基于cocos2d-x的跑酷游戏,不同高度地面的碰撞检测demo,有兴趣可以看一看

1. demo大致分为3个模块:地面,角色

2014-05-24 13:57:28 1545

linux下基于Bluez实现蓝牙SPP服务端demo

基于Bluez实现了蓝牙串口通信,用来与手机端,pc端传输数据。蓝牙模块服务多种多样,这个小demo实现了linux下建立蓝牙服务端的demo,并带了一个客户端测试。 使用时,可通过两台设备,分别作为服务端可客户端,连接时填入对方地址即可开启测试。服务端建立后,客户端可通过android或者Qt客户端建立SPP服务访问服务端,并互相传递数据。 客户端并不一定需要用C来实现,只需要根据相关api建立于服务端的连接即可

2023-02-02

libhpmud-dev_3.18.12+dfsg0-2+b1_arm64.deb

libhpmud.so hpmud.h

2021-11-17

Visual Assist 10.9.2231CR-OK.zip

Visual Assist 番茄插件安装包,Visual Assist 番茄插件安装包Visual Assist 番茄插件安装包

2020-09-08

cvtres.zip

解决问题 LINK : fatal error LNK1158: 无法运行“cvtres.exe”,解决VS2010的编译错误

2020-09-08

xlsToCsv.rar

利用py脚本将excel格式数据转成csv格式数据,需要先安装python,运行changeCsv.py即可,示例将1.xlsx转为test_3.csv

2020-05-29

苹果内置购买demo

cocos2d-x 2.2.6制作了一个苹果内置购买的工程demo,以前接过,后来忘了又重新接的,这次留个demo放这里,大家有兴趣的看看

2015-10-30

cocos2d-x切水果刀光绘制demo

1 代码可以运行在基于cocos2d x 2 2 1 及以后的版本上的 新建工程导入文件直接运行即可 2 PC上鼠标滑动屏幕就能看到效果了 3 本工程中有详细说明 这是一个切水果刀光的绘制demo 可以用 但是离原版的切水果切水果刀光的效果相比还是比较差的 其中的关键问题没解决 请高手看看吧 抛砖引玉了 ">1 代码可以运行在基于cocos2d x 2 2 1 及以后的版本上的 新建工程导入文件直接运行即可 2 PC上鼠标滑动屏幕就能看到效果了 3 本工程中有详细说明 这是一个切水果刀光的绘制demo 可以用 但是离原版的切水果切水果刀光的 [更多]

2015-05-08

cocos2d x A 寻路算法

使用cocos2d-x和tiledMap制作A*,tiledMap里边可以将拼接好的地图整张的导出

2014-08-29

cocos2d-x跑酷demo

demo中实现了角色和多种高度地面的检测,遇到高的地面死亡,遇到陷阱会掉进去

2014-05-24

SQLite Expert Professional 专业的SQlite数据库编辑器

给力的SQLite数据库编辑器,才2分,性价比高哦亲

2013-01-17

kdh文件阅读器专门的阅读工具

.kdh文件阅读器DLK。。。。。。专门的阅读工具

2011-06-26

apache-tomcat

apache-tomcate-6.0.18.tar

2011-06-26

Bash 新手指南,.chm 格式

学习Bash 必看教材,电子版 学习Bash 必看教材,电子版 学习Bash 必看教材,电子版

2011-03-28

计算机算法基础 第三版 华中科技大学 课后答案

计算机算法基础,国内经典教材,第三版 答案

2011-03-28

linux 命令大全.chm

linux 最全工具书 linux 专业人士必备

2011-03-28

数据结构与算法分析 c++描述 张怀勇等 第三版 答案

数据结构与算法分析 c++描述 张怀勇等 第三版 答案

2011-03-28

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

TA关注的人

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