自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (4)
  • 收藏
  • 关注

原创 《咏燕雀湖》

今日偶然在一微信群看别人发的燕雀湖图片,

2023-05-31 17:13:39 266

转载 靠谱的linux7 安装mysql教程

转载自:Redhat7 利用yum安装mysql8.0_theeyes2012的博客-CSDN博客_redhat yum 安装mysql

2022-04-06 22:13:33 298

原创 Ubuntu下QT Mysql 库编译过程

Ubuntu下Mysql 库编译过程ganggegel -220314说明:Ubuntu上使用的QT版本是5.7.1 版本上的mysql驱动是不可用的,需要自己编译,网上关于编译的教程基本不可用,关于如何编译,遇到一些问题,记录下来以免以后再次遇到有个参考,节省时间。不使用qteverywhere中源码,这个源码主要是为了arm平台编译驱动使用,同x86平台有些许差异,尝试过用此源码编译,报错版本不一致。 使用qt安装包(路径:/opt/Qt5.7.1/5.7/Src)下src路径下源

2022-03-14 19:01:31 1299

原创 sql 行转列

SELECTDEVICE_NO,MAX(CASE PHASE WHEN 1 THEN U ELSE 0 END) AS 'UA',MAX(CASE PHASE WHEN 2 THEN U ELSE 0 END) AS 'UB',MAX(CASE PHASE WHEN 3 THEN U ELSE 0 END) AS 'UC'FROMT_V_I_RECORDGROUP BYDEVICE_NO,SEGMENTID,INSERT_TIME讲解:一张表 只有相位1 2 3代表ABC项,U代表.

2021-12-17 17:06:27 147

原创 记录一次arm平台 QT程序内存溢出定位

程序运行在arm平台,一开始生成core文件以后发现被截断了,然后设置core文件大小不受限制,因为只是想定位问题,在文件中设置以后发现不生效 ,就不纠结了 直接临时设置。ulimit -c unlimited //临时设置不限core文件大小然后运行程序,等待出问题;产生core文件以后,gdb [proc name] [corefile name]where 定位栈定位到 是一处map insert 出问题。首先这个map的插入是单线程内,顺序执行,不存在异步操作。那么出问题

2021-11-23 17:28:24 451

原创 malloc 注意事项

很少写嵌入式程序,最近有个项目是arm平台的,踩了个坑,描述一下。程序中涉及到MQTT的交互,就是用了c语言的示例代码来改造,中间有大量的malloc,free。程序出现了崩溃,一开始是以为频繁的使用malloc,free发现的,后来发现报错显示:free():invalidpointer:0x00xxx。明显是free了不存在的地方,此时我才发现 直接使用 char* p = malloc(200);这样声明的p指针去进行++运算,最后若直接free(p),很容易就清除到未开.

2021-07-14 15:41:22 139

原创 QT pro 文件 增加宏 应对不同平台不同库编译。

场景:Ubuntu开发arm平台产品,设置两个编译KIT,但是如果想编译直接debug 使用Ubuntu的gcc,项目中用到mqtt库文件也要对应平台的,需要在pro 文件中设置。设置如下:自己定义一个宏:DEFINES+=UBUNTUGCC ,意思是使用当前kit时 此宏生效;pro文件中对应添加:...

2021-05-15 14:24:40 917

原创 qt module制作

最近在研究qt 的mqtt,看到官方demo的pro文件有些生疏,研究了下 是qtmodule的写法;搬运过来如下:(大概有个概念即可,凑乎看看~)制作Qt Module的总结注意:本文档中代码用蓝色标识,以csystem代码库为例讲述。1、代码结构根目录:stem一级目录:stem rpmupstreamstem:是存放源码的目录,名字可以随意;rpm:是放置spec文件和patch文件的目录;upsteam:是用于放置随着QT版本升级所需的东西。二级目..

2021-05-14 11:54:10 2606

原创 qt 一串打印报文,快速变成数组

通讯程序经常遇到需要验证某个环境的算法问题,但是特定的场景不好进入,这就需要自己去拷贝已有报文或者自己造一个报文,写简单的demo程序验证算法了。例子如下: QString buffStr = "68 E6 00 C3 05 00 00 21 08 23 39 00 0D 27 85 01 80 F0 01 04 00 01 04 82 06 42 FF FF FB FF FF FF FD FF FF FF FF FF FF FF FE FF FF FF FF FF FF FF BF FF FF...

2021-03-09 11:42:12 425

原创 QT历史版本 以及 qt第三方镜像

历史版本地址:https://download.qt.io/new_archive/qt上述地址基本龟速,so第三方镜像:http://qtmirror.ics.com/pub/qtproject/archive/qt/

2021-01-04 11:06:48 602

原创 qt 全镜像下载地址

http://qtmirror.ics.com/pub/qtproject/archive/qt/

2020-12-31 13:35:49 1665 1

转载 2的补码,复习计算机组成原理

转载:https://www.cnblogs.com/malang/articles/11066011.html问一个基本的问题。负数在计算机中如何表示?举例来说,+8在计算机中表示为二进制的1000,那么-8怎么表示呢?很容易想到,可以将一个二进制位(bit)专门规定为符号位,它等于0时就表示正数,等于1时就表示负数。比如,在8位机中,规定每个字节的最高位为符号位。那么,+8就是00001000,而-8则是10001000。但是,随便找一本《计算机原理》,都会告诉你,实际上,计算机内部

2020-12-29 16:14:26 277

原创 ubuntu彻底删除docker,简单粗暴

网上很多方法如apt-get remove docker (或者docker-ce)等等,还有dpkg -l |grep docker的;照着操作完毕后,docker -v 还是有版本号;想着linux系统是面向文件的系统,把相关文件删除了,就完事了呗,本人天生不怕折腾,deadline摆在眼前还是不会放弃探索精神的人,直接来一条:whereis docker ;然后全部rm -rf xxx;再查询docker --version就提示没有docker这个文件了;...

2020-11-14 17:03:25 2355 2

原创 数据库两个字段约束查询

select*fromtable ainner join(select id,address,bcdid from tablegroup by address,bcdid having count(*) > 1) bon a.id != b.idanda.address = b.addressanda.bcdid = b.bcdid)

2020-11-10 18:23:35 236

原创 大拇指--观工作群怪相有感

《大拇指》平淡周五码字忙,工作群里叮咚响,点开一串大拇指,又有几个真赞扬?

2020-10-30 17:19:21 192 1

原创 报文中的整形换算小数问题

如报文中4个字节的报文,通过位移换算成整数,换算单位-4,即小数点左移4位,直接除以10000,会到时精度丢失;*10000/10000;可以保留至少四位精度,但是有溢出风险;目前想到最优方案:int PowerCnt = 9664;float fval = (double)PowerCnt /10000;...

2020-10-12 10:23:16 559

转载 为人处世,请从学会闭嘴开始!

为人处世,请从学会闭嘴开始!春秋·孔子《论语·卫灵公》:可与言而不与之言,失人;不可与言而与之言,失言。知者不失人,亦不失言。混迹社会,与人相处,讲话是一门学问,该讲的话却没讲,容易失去朋友;不该讲的话却说了,则容易犯错!在特定条件下,什么是人生不可讲的话?被忽略时想抱怨的话 被忽略的时候,你越是抱怨,越是不被待见!要知道,很多时候,被忽略是人生常态,在这个千军万马的时代,谁会在乎一个蠢才!唯有,当你的能力足够强大的时候,当你的影响力无法被忽视...

2020-09-14 16:03:13 144

原创 MySQL server has gone away

超过8小时数据库长连接没有任何操作Mysql服务主动断开连接导致sql语句执行不成功。而此时如果用isopen()来判断,结果是失效的,此时会返回true,然后紧接着是失败。解决方法:写个如下的函数,在事件循环或者你自己看什么地方合适,小于8小时的周期判断一下长连接状态。bool SQLClass::Connect_Test(){ //QMutexLocker locker(&My_mutex); try { QSqlQuery query(...

2020-08-04 12:14:00 265

原创 QTableWidget 实现搜索功能

#include "stdafx.h"#include "QtGuiApplication2.h"QtGuiApplication2::QtGuiApplication2(QWidget *parent): QMainWindow(parent){ ui.setupUi(this); timer_checkDev = new QTimer(this); connect(timer_checkDev, SIGNAL(timeout()), this, SLOT(checkDe...

2020-07-03 18:23:33 6152

原创 yum保存安装包,直接看方法二,靠谱一点,安装过后还可操作。

方法一:使用yum的downloadonly插件步骤:(1) 先安装downloadonly插件yum install yum-plugin-downloadonly(2)使用–downloadonly选项下载指定的软件包,–downloaddir选项用于指定下载的软件包存放目录,如下载gcc-c++sudo yum install --downloadonly --downloaddir=/home/y/Desktop gcc-c++如果不用–downloaddir选项指定..

2020-06-19 14:12:58 700

原创 QList 存储自定义结构体对象情况下,如何在迭代中判断条件并删除?

网上的例子都是简单的整型或者字符串操作,使用foreach,或者iterator,removeOne(value);但是实际用自定义结构体时,循环迭代删除时报错:没有 == ;原因是removeOne();或者其它删除操作,括号中的值实际上要去list中去判等操作,自定义结构体没有重载 ==符号,只要重载即可.typedef struct box{ QString test1; QString test2; int test; bool operator...

2020-05-22 12:58:15 2830

原创 qt mqtt相关资料

qt官方代码仓库:https://code.qt.io/cgit/https://codereview.qt-project.org/admin/repos/qt%2Fqtmqtt1.靠谱的编译方法;https://blog.csdn.net/qq21497936/article/details/914638702.demo靠谱可运行的addr:https://www....

2019-12-09 18:43:23 151

原创 JDBC Type同 Java Type对应关系

1 JDBC Type Java Type 2 CHAR String 3 VARCHAR String 4 LONGVARCHAR String 5 NUMERIC java.math.BigDecimal 6 DECIMAL ...

2019-11-20 09:56:15 174

原创 java List lambda表达式过滤使用例子

Person p1 = new Person("张三", new BigDecimal("23.0"));Person p2 = new Person("王五", new BigDecimal("64.0"));Person p3 = new Person("李四", new BigDecimal("75.0"));Person p4 = new Person("王五", new BigD...

2019-08-19 11:01:27 6281 4

原创 qt 槽函数命名注意事项 槽函数避免被触发两次

如果用官方的写法on_btn_pressed()可以不用写connect函数,可以直接触发槽函数。如果此时用connect再次连接的话,就会导致on_btn_pressed()被执行两次。解决办法为:可能有问题的代码,会被执行两次connect(ui->btn,signal(pressed()),this,slot(on_btn_pressed()));规则强制指定...

2019-05-20 13:58:38 2047

原创 C++ 可变参数定义及使用

#include<iostream> 2 using namespace std; 3 void PrintAll(int n,...){ 4 int *ptr; 5 ptr = &n; 6 while(*ptr){ 7 cout<<*ptr<<endl; 8 ptr++; 9 ...

2018-08-20 09:47:55 1798

原创 widget *A = New QWidget(B),A直接嵌套在B内

最近在看一个录波解析软件的源码,其中有一个QWidget控件,并没有设定坐标,有没有添加到布局,最后发现一处代码: ainShowWidget=new AINShowWidget(widgetAinScroll);widgetAinScroll在软件上有布局,最后咨询同事,知道ainShowWidget直接被嵌套在了widgetAinScroll中;...

2018-06-05 16:36:36 1736

原创 QT直接叉掉子窗口,不走析构函数问题

子窗体的构造函数中初始化了父窗体的parent,当关闭子窗体时不会调用析构函数,只有关闭父窗体时,才会调用子窗体的析构函数,解决办法如下setAttribute(Qt::WA_DeleteOnClose);或者     delete 窗口,直接X掉相当于close(),不会触发析构函数...

2018-05-29 13:44:11 2535

原创 添加带有Q_OBJECT的类以后,报错 erroLNK2001

原因是程序的编译是依赖于moc文件,添加带有Q_OBJECT的类以后需要生成新的项目文件,比如qmake一下等,才能生成moc

2018-05-24 11:40:18 2462

转载 c++ new(nothrow) XX 用法

转载自:https://blog.csdn.net/huyiyang2010/article/details/5984987今天和同事review代码时,发现这样的一段代码: Manager * pManager = new Manager();if(NULL == pManager){    //记录日志    return false;} 然后,一个同事就说这样写欠妥,应该改为: Manage...

2018-04-24 15:41:18 1601

原创 QT高级编程学习笔记(1)

1.关于EXE路径的操作。QString applicationPathOf(const QString &path){ QDir dir(QApplication::applicationDirPath());       //exe如果在debug或者release中,dirName()是dir最末端文件夹名称QString类型,cdUp()相当于cd..  cd()相当于cd; if...

2018-04-09 13:39:37 1813

原创 安装VS2015后运行报错的解决

1.无法打开studio.h等文件解决方法:项目属性vc++目录include中增加:C:\Program Files\Windows Kits\10\Include\10.0.10150.0\ucrt库中增加:C:\Program Files\Windows Kits\10\Lib\10.0.10150.0\ucrt\x862.无法打开**runtime.h解决方法:同上增加:D:\Progra...

2018-03-21 10:55:49 2781

原创 QT+VS编写和使用动态库

在网上看了很多文章,实行起来都有点问题,还是按自己的方式来。1.用QTcreator新建一个C++库类工程。2.用vs打开pro文件 生成dll和lib,放到调用输出EXE的目录内。3.pro文件中添加LIBS  +=  -lTestdll 之类的。    pro文件增加头文件包含。4.调用处文件添加头文件。即可调用库。...

2018-03-16 16:38:41 2799 1

转载 使用虚拟串口软件和串口调试助手来测试串口通讯代码

转载自:http://blog.csdn.net/u013232740/article/details/49838233为解决计算机的物理串口个数的限制,在进行串口调试实验时,应尽可能采用虚拟串口软件。VSPD(Virtual Serial Ports Driver)虚拟串口软件是由Eltima软件公司设计的虚拟串口软件,使用方便且稳定。同时,使用虚拟串口也是规避风险的好办法,尤其对新

2018-01-29 15:07:29 4897

转载 QT无法解析的外部符号"public:virtualstructQMetaObjectconst*__thiscallWidget::metaObject"

查找原因:1. 是否加上了Q_OBJECT宏?2. 你的widget里用到signal slot了吧?(也许是后续加的)3. 类定义在cpp里了? 没有相应的.h文件?4. 如果以前没信号槽新加的, 那么makefile需要重新生成。总结原因如下:vs在编译时会产生一系列的命令以控制该.h、.cpp文件的编译过程,并且,以后不会自动修改这些命令。利用Qt编程时,写好

2018-01-26 16:49:38 2801 1

原创 第三方类qextserialenumerator加入后报链接错误解决

qextserialport的最新一版包括qextserialenumerator.cpp,可以直接调用QextSerialEnumerator::getPorts()方法获取当前可用的com串口,不再需要自己写函数读取注册表获取串口list。但是,一开始加入的时候报了很多链接错误,后来发现是qextserialenumerator.cpp中的一个函数SetupDiGetDeviceReg

2018-01-25 19:49:24 974

原创 通过代理添加的qcombobox,如何通过界面获取内容索引等

QWidget * widget=ui->tableWidget->cellWidget(i,0);//获得widget QComboBox *combox=(QComboBox*)widget;//强制转化为QComboBox QString string=combox->currentText(); qDebug()

2017-12-25 19:44:51 3390 1

原创 浮点数据在通讯报文中的处理

1、强制指针类型转换。[html] view plain copy//转换float数据到字节数组  unsigned char i;  float floatVariable;  unsigned char charArray[4];  (unsigned char) *pdata = ((unsigned char)*)&

2017-12-25 16:16:52 958

原创 切忌!不要用int和sizeof()返回的无符号类型比较

今天现场一个程序挂掉,查了很久,是一个之前人的代码出的问题,很简单,也很容易忽略。代码如下:result = m_rd.GetCurRecordVal(SYSTEM_TYPE_NSA_CD,TABLE_CMENU_INFO,"menuName",pMenuName,MENU_NAME_LEN,XTRUE,"",0,0,XFALSE,"",0,0,XFALSE,"",0,

2017-12-18 14:21:09 2377 1

原创 16进制字符串转换为10进制

int HexStrToDec(QString Str){int Num=0;if (Str.startsWith("0x") || Str.startsWith("0X")){Str = Str.mid(2);                 //QString截取,从索引值为2的位置开始Num = Str.toInt(0,16);               /

2017-12-12 13:37:40 2859

基于MQTT的配电物联网通信协议-报批稿 -0823.doc

MQTT的配电物联网通信协议 内容全,讲解清楚。

2019-11-14

the practice of programming中文、英文版pdf

非扫描版,可复制,任何语言的程序员经典必读书刊,这本99年的书里到处都是不会过时的金玉良言

2017-10-23

广东电网公司智能一体化配电自动化终端数据通信技术要求

2017-04-10

国网运检部关于做好“十三五”配电自动化建设应用工作的通知

国网运检部关于做好“十三五”配电自动化建设应用工作的通知

2017-03-23

空空如也

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

TA关注的人

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