- 博客(68)
- 资源 (4)
- 收藏
- 关注
原创 局域网内两台主机虚拟机之间通讯同时上网问题
现在遇到问题,如果用桥接模式,公司的有线网卡桥接后虚拟机无法上网(以前是可以的怀疑是公司网络共享权限问题,因为插无线网卡后,桥接可上网),使用NAT能上网,但是NAT上网后,本机虚拟机同主机网络是通畅的,但是本台电脑安装的虚拟机同其它物理机的主机以及虚拟机的网络就不通畅了。因业务需要,需要在局域网内多台电脑上,运行虚拟机,虚拟机之间需要网络通畅,同时有的虚拟机有上网需求。后来灵机一动,在虚拟机中增加一个虚拟网卡使用NAT模式,这样,上网问题解决了,通讯问题也解决。后面有时间再确认为何桥接上不了网。
2024-10-25 15:32:36 157
转载 靠谱的linux7 安装mysql教程
转载自:Redhat7 利用yum安装mysql8.0_theeyes2012的博客-CSDN博客_redhat yum 安装mysql
2022-04-06 22:13:33 329
原创 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 1359
原创 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 177
原创 记录一次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 555 1
原创 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 167
原创 QT pro 文件 增加宏 应对不同平台不同库编译。
场景:Ubuntu开发arm平台产品,设置两个编译KIT,但是如果想编译直接debug 使用Ubuntu的gcc,项目中用到mqtt库文件也要对应平台的,需要在pro 文件中设置。设置如下:自己定义一个宏:DEFINES+=UBUNTUGCC ,意思是使用当前kit时 此宏生效;pro文件中对应添加:...
2021-05-15 14:24:40 1033
原创 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 3003
原创 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 460
原创 QT历史版本 以及 qt第三方镜像
历史版本地址:https://download.qt.io/new_archive/qt上述地址基本龟速,so第三方镜像:http://qtmirror.ics.com/pub/qtproject/archive/qt/
2021-01-04 11:06:48 862
转载 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 318
原创 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 2649 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 267
原创 报文中的整形换算小数问题
如报文中4个字节的报文,通过位移换算成整数,换算单位-4,即小数点左移4位,直接除以10000,会到时精度丢失;*10000/10000;可以保留至少四位精度,但是有溢出风险;目前想到最优方案:int PowerCnt = 9664;float fval = (double)PowerCnt /10000;...
2020-10-12 10:23:16 604
转载 为人处世,请从学会闭嘴开始!
为人处世,请从学会闭嘴开始!春秋·孔子《论语·卫灵公》:可与言而不与之言,失人;不可与言而与之言,失言。知者不失人,亦不失言。混迹社会,与人相处,讲话是一门学问,该讲的话却没讲,容易失去朋友;不该讲的话却说了,则容易犯错!在特定条件下,什么是人生不可讲的话?被忽略时想抱怨的话 被忽略的时候,你越是抱怨,越是不被待见!要知道,很多时候,被忽略是人生常态,在这个千军万马的时代,谁会在乎一个蠢才!唯有,当你的能力足够强大的时候,当你的影响力无法被忽视...
2020-09-14 16:03:13 166
原创 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 312
原创 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 6296
原创 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 770
原创 QList 存储自定义结构体对象情况下,如何在迭代中判断条件并删除?
网上的例子都是简单的整型或者字符串操作,使用foreach,或者iterator,removeOne(value);但是实际用自定义结构体时,循环迭代删除时报错:没有 == ;原因是removeOne();或者其它删除操作,括号中的值实际上要去list中去判等操作,自定义结构体没有重载 ==符号,只要重载即可.typedef struct box{ QString test1; QString test2; int test; bool operator...
2020-05-22 12:58:15 3070
原创 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 173
原创 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 194
原创 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 6341 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 2136
原创 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 1821
原创 widget *A = New QWidget(B),A直接嵌套在B内
最近在看一个录波解析软件的源码,其中有一个QWidget控件,并没有设定坐标,有没有添加到布局,最后发现一处代码: ainShowWidget=new AINShowWidget(widgetAinScroll);widgetAinScroll在软件上有布局,最后咨询同事,知道ainShowWidget直接被嵌套在了widgetAinScroll中;...
2018-06-05 16:36:36 1770
原创 QT直接叉掉子窗口,不走析构函数问题
子窗体的构造函数中初始化了父窗体的parent,当关闭子窗体时不会调用析构函数,只有关闭父窗体时,才会调用子窗体的析构函数,解决办法如下setAttribute(Qt::WA_DeleteOnClose);或者 delete 窗口,直接X掉相当于close(),不会触发析构函数...
2018-05-29 13:44:11 2628
原创 添加带有Q_OBJECT的类以后,报错 erroLNK2001
原因是程序的编译是依赖于moc文件,添加带有Q_OBJECT的类以后需要生成新的项目文件,比如qmake一下等,才能生成moc
2018-05-24 11:40:18 2511
转载 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 1645
原创 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 1872
原创 安装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 2882
原创 QT+VS编写和使用动态库
在网上看了很多文章,实行起来都有点问题,还是按自己的方式来。1.用QTcreator新建一个C++库类工程。2.用vs打开pro文件 生成dll和lib,放到调用输出EXE的目录内。3.pro文件中添加LIBS += -lTestdll 之类的。 pro文件增加头文件包含。4.调用处文件添加头文件。即可调用库。...
2018-03-16 16:38:41 2846 1
转载 使用虚拟串口软件和串口调试助手来测试串口通讯代码
转载自:http://blog.csdn.net/u013232740/article/details/49838233为解决计算机的物理串口个数的限制,在进行串口调试实验时,应尽可能采用虚拟串口软件。VSPD(Virtual Serial Ports Driver)虚拟串口软件是由Eltima软件公司设计的虚拟串口软件,使用方便且稳定。同时,使用虚拟串口也是规避风险的好办法,尤其对新
2018-01-29 15:07:29 4963
转载 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 3179 1
原创 第三方类qextserialenumerator加入后报链接错误解决
qextserialport的最新一版包括qextserialenumerator.cpp,可以直接调用QextSerialEnumerator::getPorts()方法获取当前可用的com串口,不再需要自己写函数读取注册表获取串口list。但是,一开始加入的时候报了很多链接错误,后来发现是qextserialenumerator.cpp中的一个函数SetupDiGetDeviceReg
2018-01-25 19:49:24 1039
原创 通过代理添加的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 3455 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 1033
原创 切忌!不要用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 2456 1
广东电网公司智能一体化配电自动化终端数据通信技术要求
2017-04-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人