- 博客(187)
- 资源 (24)
- 收藏
- 关注
原创 常用算法小记
这是一个使用标准差阈值滤波器的C++实现。对于每个数据点,我们将计算其邻近点的标准差。如果该点的值与均值之差大于标准差的阈值倍数,则将其替换为其邻近点的平均值。在此示例中,我们将阈值设置为滑动窗口内标准差的2倍。请注意,动态阈值可能会导致过滤效果与固定阈值不同。您可以根据需要调整窗口大小和阈值倍数。以下是使用Qt平台实现标准差滤波器的示例。以下是使用Qt平台实现平滑滤波器的示例。使用最小二乘法实现线性拟合。
2023-03-21 16:17:07
564
原创 移远4G模块调试笔记
在项目中集成 4G 网络模块,便可远程实时监控仪器运行状态、收集仪器数据等功能。EC20的USB接口符合USB2.0规范,支持高速(480Mbps)和全速(12Mbps)模式。该接口可用于AT 命令传送、数据传输、GNSS NMEA 输出、软件调试、软件升级和USB语音。.........
2022-08-26 17:43:09
14757
1
原创 虚拟机Ubuntu磁盘扩容
前言:虚拟机Ubuntu使用过程中发现磁盘空间不足,需要对原有的虚拟硬盘进行扩容。系统:Ubuntu 16.04原硬盘空间:80G扩容后的空间:200G1.快照清除右键,“快照”→“快照管理器”,把之前的快照均删除了。2.碎片整理关闭虚拟机,右键-设置,或点击“编辑虚拟机设置”,在“虚拟机设置”窗口,“硬件”→“硬盘(SCSI)”→“碎片整理”。3.磁盘扩容点击“扩展”按钮进行磁盘扩容 4. 分区1)查看分区情况,下一次分区会为/dev/sda3 2)开始分区:fdisk /dev/sda -->m -->
2022-06-21 11:46:43
10063
1
原创 Qt5 串口类QSerialPort
简述:在Qt5以上提供了QtSerialPort模块,方便编程人员快速的开发应用串口的应用程序。QtSerialPort模块中提供了两个C++类,分别是QSerialPort 和QSerialPortInfo。QSerialPort 类是Qt5封装的串口类,可与串口进行通信,提供了操作串口的各种接口。QSerialPortInfo类是一个辅助类,可以提供计算机中可用串口的各种信息。...
2022-03-14 17:18:39
7701
2
原创 Shell 脚本小记1
简述: 收集一些常用或实用的命令。目录1. getopt命令1.1 getopt 选项1.2getopt如何解析选项和参数1.3 处理getopt解析的结果2. case in esac 命令2.1 case in esac 格式:2.2 case in esac格式说明2.3case in 和正则表达式2.4 case in 样例3. shift 命令4.eval 命令4.1eval可回显简单的变量4.2eval执行...
2022-02-25 10:49:23
400
原创 崩溃捕获google_breakpad源码编译及使用
简述:breakpad是一个比Linux core机制更强大的、用于记录程序崩溃时信息的工具。breakpad是google开发的一个跨平台C/C++ dump捕获开源库和工具套件,可用来发布删除了编译器调试信息的应用程序。在程序崩溃时,将崩溃信息记录在一个小巧的微软minidump格式文件中,支持将其发送回服务器,并且可以从这些minidump和符号文件来生成C和C++堆栈跟踪。breakpad可以在程序崩溃时触发dump写入操作,也可以在没有触发dump时主动写d...
2022-02-24 15:59:40
1244
1
原创 字符串转二进制序列
字符串转二进制序列void stringToBinary(QString str){ int bKey[64]; // 二进制 for (int i = 0; i < 8; ++i) { int t[8] = {0, 0, 0, 0, 0, 0, 0, 0}; int k = str.at(i).unicode(); qDebug() << Q_FUNC_INFO << __LINE__ <&
2022-02-14 16:43:30
925
原创 ASCII,Unicode 和 UTF-8
本来想整理一下字符编码的笔记的,然后发现阮老师已经发布过一篇很好的文章了,666...,大家直接阅读吧:字符编码笔记:ASCII,Unicode 和 UTF-8
2021-12-29 15:18:35
294
1
原创 linux 小记3
1.U盘1> linux – /sys中的SCSI设备条目与/dev中的磁盘之间的对应关系获取通信的简单方法是查看/ sys层次结构中的device / block子目录:root@imx6dlsabresd:~# ls -1d /sys/class/scsi_device/*/device/block/*/sys/class/scsi_device/0:0:0:0/device/block/sdaroot@imx6dlsabresd:~# 2> 是否插入U盘...
2021-11-22 17:13:54
461
原创 最长回文子串(C++)
#include <iostream>using namespace std;bool validStr(string s,int left,int right){ while (left < right) { if(s.at(left) != s.at(right)) return false; left++; right--; } return true;}string l.
2021-10-18 23:02:23
599
1
原创 Sqlite模糊查询通配符%和下划线无法匹配问题
问题描述: 使用以下like语句查询,select * from table where columnName like '%_%';结果是返回全部的记录,不是想要的结果!网上搜索一下,原因如下:在like语句中的“下划线”代表匹配“任意一个字符”,“%”代表匹配“任意多个字符”。解决方案:方案一:使用escape转义escape的内容可以任意,只要保证前后一致即可select * f...
2021-09-22 14:43:16
1110
原创 重要网址小记
1.jsons在线工具2.正则表达式在线测试-菜鸟3.Qt Download qt-installer-framework4.CRC(循环冗余校验)在线计算5.BCC校验(异或校验)在线计算6.在线进制转换7.OSS(C++)的安装/下载/上传...
2021-09-17 16:50:30
4457
原创 动态获取SVN版本号(Qt)
1、获取版本号可在.pro文件加入自动获取动态库或静态库项目的版本号的代码,代码如下VERSION = $$system(svn info -r HEAD . | grep 'Changed\ Rev' | cut -b 19-)!isEmpty(VERSION){ VERSION = $${VERSION}}2、在应用程序中读取版本号若需要在应用程序中读取版本号,则需增加两行代码,便可在应用程序使用“VER"宏来读取版本VERSTR = '\\"$${VERSIO.
2021-09-16 16:36:05
1131
原创 Qrencode4.1.1源码交叉编译(arm)及移植
简述:源码文件:zlib-1.2.11.tar.gz,libpng-1.6.37.tar.gz,qrencode-4.1.1.tar.bz2
2021-06-15 16:33:56
1879
2
原创 获取数据库表中所有的字段-Qt
1.sqllite数据库获取sqlite数据库的数据表字段的关键是PRAGMA table_info('tablename')bool outPutTableInfo(QString tabNmae){ QSqlQuery query; QString strTableNmae = tabNmae; QString str = "PRAGMA table_info(" + strTableNmae + ")"; query.prepar.
2021-06-08 10:29:16
1259
原创 ubuntu16.04 上安装 gstreamer
简述:GStreamer系列 - 基本介绍系统:Ubuntu 16.04这里主要介绍源码安装方式。1、下载源码在下载地址中下载以下六个压缩包 gstreamer-1.16.0.tar.xz gst-plugins-base-1.16.0.tar.xz gst-plugins-bad-1.16.0.tar.xz gst-plugins-good-1.16.0.tar.xz gst-plugins-ugly-1.16.0.tar.xz gst-libav-1.
2020-06-09 20:00:33
3913
原创 在Ubuntu16.04 安装RabbitVCS
系统:Ubuntu 16.041、添加源将rabbitvcs的添加到源里面。(首次操作会提示是否要添加到源里面,点击ENTER添加,Ctrl+C不添加),这里选择ENTER方便更新。 sudo add-apt-repository ppa:rabbitvcs/ppa2、导入key如果第一步出现已经导入key的提示,此步骤可以省略 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 34EF4A..
2020-06-09 19:29:34
805
转载 QML中的信号和函数
简述:在Qt C++中,signals & slots是其核心机制,是应用程序与UI组件交互的神经网络,同样在QML中,也有类似的signal & handler机制,signal信号就是我们常说的一种事件,可通过signal handler信号处理器来处理这个信号。当某个signal信号被发送时,对应的handler信号处理器也被触发,我们就可以在handler信号处理器中做一些事情,来处理这个signal信号事件.1、“HelloWorld”信号简述下面是一个简单的例子.
2020-05-17 15:13:48
2401
原创 QML与C++混合编程
简述:QML与C++混合编程就是使用QML高效便捷地构建UI,而C++则用来实现业务逻辑和复杂算法。1> Qt集成了QML引擎和Qt元对象系统,使得QML很容易从C++中得到扩展,在一定的条件下,QML就可以访问QObject派生类的成员,例如信号、槽函数、枚举类型、属性、成员函数等。QML访问C++有两个方法:序号 方法 备注 1 在Qt元对象系统中注册C++类,在QML中实例化、访问 可以使C++类在QML中作为一个数据类型 2 在C++中实例
2020-05-14 18:47:56
2759
6
原创 Qt中常用的数据库操作
简述:常用的数据库操作主要有查询、插入、删除等QSqlDatabase创建连接数据库实例,一个QSqlDatabase的实例代表一个数据库的连接。Qt提供了对不同数据库的驱动支持:Driver Type Description QDB2 IBM DB2 QIBASE Borland InterBase Driver QMYSQL MySQL D...
2020-04-17 19:41:47
5647
1
原创 Qt将数据库的表导出为CSV文件
简述:CSV,Comma Separated Value(逗号分隔值),通常都是纯文本文件,以行为单位,每行记录多项数据,每项数据用逗号 来分隔(标准英文逗号)。本文主要介绍将数据库的表导出为CSV文件,支持中文。系统:Qt + linux1、写入CSV文件/** * @brief creatCSVFile() * 创建CSV文件 * @return */......
2020-04-17 16:32:44
2177
转载 linux下的ffmpeg 用法
简述:ffmpeg是一个非常好的转码工具。将视频文件1.avi和音频文件1.wav合成音视频文件1.mp4 ffmpeg -i 1.avi -i 1.wav -threads 1 -strict -2 -y 1.mp4将音视频文件2.mp4转换成640*360分辨率的音视频文件3.mp4 ffmpeg -i 2.mp4 -vf scale=640:360 3.mp4...
2019-11-06 23:54:55
3440
原创 使用Qt installer framework制作安装包
简述:使用Qt库开发的应用程序,一般有两种发布方式:(1)静态编译发布。这种方式使得程序在编译的时候会将Qt核心库全部编译到一个可执行文件中。其优势是简单单一,所有的依赖库都集中在一起,其缺点也很明显,可执行程序体量较大,光Qt核心库加起来就得十多兆。(2)制作安装包发布。这种方式的原理也简单,就是将可执行程序和其依赖的库文件一起打包压缩,制作成安装包发布。制作安装包的工具挺多,这里介绍的是Q...
2019-10-14 12:23:46
1889
原创 js 小记
目录1、数组的push()、pop()、shift()和unshift()2、Object.assign()方法3、concat() 方法4、.map5、JS中let和var 的区别6、parseFloat((NumberObject).toFixed(2))1、数组的push()、pop()、shift()和unshift()栈和队列都是动态的集合,栈实现了后进...
2019-10-12 12:30:35
192
原创 Linux 小记2
1、grep命令1> grep , 文本过滤工具。grep 是 Linux 系统中最重要的命令之一,其功能是从文本文件或管道数据流中筛选匹配的行及数据。grep 命令里的匹配模式或模式匹配,可以是普通的文字符号也可以是正则表达式2> 语法格式:grep 【options】【pattern】【file】 grep [参数] [...
2019-10-09 16:33:46
203
原创 Linux下 创建启动器(.Desktop文件)
简述:Linux图标文件其实就是.desktop后缀的纯文本文件,Linux程序.desktop文件大都放置在/usr/share/applications/目录(所有用户可见)或~/.local/share/applications/目录(仅当前用户可见)中,几乎所有的程序图标文件都在这里。若是需要开机自动启动程序,则需把.desktop文件放置在~/.config/autostart/...
2019-10-09 14:39:00
9571
转载 Linux shell脚本中if的“-e,-d,-f” 说明
1、文件表达式序号 参数 说明 1 -e filename 如果 filename存在,则为真 2 -d filename 如果 filename为目录,则为真 3 -f filename 如果 filename为常规文件,则为真 4 -L filename 如果 filename为符号链接,则为真 5 ...
2019-10-09 10:38:28
23527
1
原创 Fedora29 下WireShark安装
1、安装WireShark打开“software",搜索WireShark,直接安装即可2、WireShark权限不足问题解决方案sudo usermod -a -G wireshark ${USER}Ubuntu下Wireshark普通权限不足之解决方案3、WireShark选择网卡出错解决方案问题描述:使用wireshark抓包,需要抓取的是无线网卡的数据包,但是打开后...
2019-07-01 23:05:57
462
原创 Fedora 30下SVN安装笔记
简述:Apache Subversion 通常被缩写成 SVN,是一个开放源代码的版本控制系统,采用分支管理模式。即Subversion 管理着随时间改变的数据,而这些数据放置在一个中央资料档案库(repository) 中。几个概念:repository(源代码库):源代码统一存放的地方。Checkout(提取):若手上没有源代码,则需从repository checkout一份...
2019-05-29 00:01:41
723
原创 Windows下VTK 7.1.1+VS 2015 +Qt 5.7 msvc2015 配置编译及安装
简述:为了实现RealSense的PCL点云显示,需要VTK支持。由于整个平台在Qt环境实现,VTK编译为Qt插件, QVTKWidget是Qt对于VTK的一个封装。VTK,(visualization toolkit)是一个开源的免费软件系统,主要用于三维计算机图形学、图像处理和可视化。VTK是在面向对象原理的基础上设计和实现的,它的内核是用C++构建的,包含有大约250,000行代码,2...
2018-07-23 15:42:20
8103
3
转载 C++中string、char *、char[]、const char*的转换
简述:1) char*转string:可以直接赋值。2) char[]转string:可以直接赋值。3) char*转char[]:不能直接赋值,可以循环char*字符串逐个字符赋值,也可以使用strcpy_s等函数。4) string转char[]:不能直接赋值,可以循环char*字符串逐个字符赋值,也可以使用strcpy_s等函数5) string转char*:
2018-03-16 13:21:56
84169
5
转载 Qt多线程通信
简述:1> Qt线程间共享数据主要有两种方式:1)使用共享内存。即使用一个两个线程都能够共享的变量(如全局变量),这样两个线程都能够访问和修改该变量,从而达到共享数据的目的。2)使用singal/slot机制,把数据从一个线程传递到另外一个线程。第一种方法在各个编程语言都普遍使用,而第二种方法是QT的特有的,本文主要介绍第二种。2 >
2018-03-03 11:56:03
27714
6
原创 Qt 信号与槽
前言:信号和槽用于两个对象之间的通信,信号和槽机制是Qt的核心特征。为了实现对象间的通信,一些工具包中使用了回调(callback)机制,而在Qt中,使用了信号和槽来进行对象间的通信。信号和槽的关联,可以是一个信号对应一个槽,一个信号可以关联到多个槽上,多个信号也可以关联到同一个槽上,甚至,一个信号还可以关联到另一个信号上。如果存在多个槽与某个信号相关联,那么,当这个信
2018-02-10 16:00:07
1443
转载 QT namespace UI
简述:Qt编程中,会见到类似于如下的声明:namespace Ui { class Dialog; } 那么,为何要这样声明,这样声明有什么好处。这是Qt Designer使用了pimpl手法,pImpl手法主要作用是解开类的使用接口和实现的耦合,即为了减少各个源文件之间的联系。下面详细讲解一下。1、新建Qt 设计师界面类dial
2018-02-06 17:09:56
4492
1
原创 Fiddler抓包(Android app)
简述:在开发android app的时候,会涉及到与后端的交互,比如在触发事件后,后台有没有返回数据,向后台提交数据有没有成功。举个例子:测试登陆app界面的时候。输入用户名与密码。提交的时候,就需要向后端请求结果,后端会根据用户名和密码去查询数据库,如果正确,就返回一个true,就可以正确跳转到下一个activity.如果为false,就向用户显示密码或用户名错误。
2018-02-04 16:55:16
21456
4
转载 Android-ABIFilter-Device supports x86,but APK only supports armeabi-v7a,armeabi,x86_64
简述:转载地址: Android-ABIFilter-Device supports x86,but APK only supports armeabi-v7a,armeabi,x86_64我遇到一个小问题Android 的 so 库和 ABI 配置我原先也是没有什么概念的,直到上个周,在我尝试跑一个程序的时候,真机运行没问题,但是用伟大的模拟机
2018-02-02 10:25:41
868
原创 设计模式
简述:设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证
2018-02-01 16:48:02
1497
1
转载 Cmake知识----编写CMakeLists.txt文件编译C/C++程序
简述:CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake 。1、CMake编译原理CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多。CMake主要是编写
2018-01-26 16:37:57
22084
2
原创 Jenkins持续集成Android工程
简述:本文演示Jenkins如何对android工程进行持续集成,该android工程是通过gradle工具进行构建,并通过git进行版本控制。1、Jenkins安装及配置Jenkins的安装及配置请参考持续集成工具Travis CI和Jenkins2、新建任务(项目/工程)本文以github上andr
2018-01-24 17:04:34
1170
转载 Android Studio自动化测试Espresso及Ui Automator
简述:1 >自动化测试Espresso最显著的特点就是,可以与Ui交互。2 >自动化测试Ui Automator可以与多个app进行交互Ui Automator与现状业界里主流的Android自动化测试工具相比有什么优缺点呢?优点:① 可以对所有操作进行自动化测试,操作简单② 不需要对被测程序进行重命名,且可测试所有设备上的程序,如某
2018-01-24 13:57:30
6365
linux下breakpad源码生成的库、头文件等
2022-02-24
How To Add Breakpad To Your Linux Application
2022-02-24
google_breakpad源码
2022-02-24
qrencode源码及依赖库zlib、libpng源码.rar
2021-06-15
C++ Primer 第五版 中文版+英文版 pdf
2018-05-29
Effective Robotics Programming with ROS - 3td Edition 2016
2018-03-10
LearningROSforRoboticsProgramming-SecondEdition
2018-03-10
ARM_Translation_Marshmallow及Genymotion-ARM-Translation_v1.1
2018-02-02
反编译apk工具
2018-01-16
Qt 5 开发及实例(第2版)陆文周 主编 魅力 实践 发现
2017-12-18
Qt 5 开发及实例
2017-12-18
Deep Learning - Ian Goodfellow 完整高清英文版
2017-12-17
Digital Signal Processing with Field Programmable Gate Arrays第4版
2017-12-14
arm-linux-gcc-4.4.3.tar.gz及arm-linux-gcc交叉编译环境搭建
2017-11-07
TCP调试助手
2017-10-13
OpenGL 红宝书和蓝宝书
2017-04-13
FFmpeg之源码并编译
2016-12-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人