
C++
文章平均质量分 65
csdndenglu
这个作者很懒,什么都没留下…
展开
-
VTK9.3.0 编译debug版本时链接错误问题(LINK1169)
VTK源码编译原创 2024-06-03 13:25:36 · 539 阅读 · 0 评论 -
Qt warning: C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
Qt warning: C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失原创 2022-07-15 11:40:15 · 7563 阅读 · 4 评论 -
QT创建子目录项目,可以让项目组织成树形结构的示例:在项目中同时创建Application和第三方动态库(内部)
QT创建子目录项目,可以让项目组织成树形结构的示例:在项目中同时创建Application和第三方动态库(内部)原创 2022-07-06 09:26:36 · 1456 阅读 · 0 评论 -
Qt读写Excel文件的方法介绍,及QtXlsx的使用方法
Handling Microsoft Excel file format - Qt Wiki里面总结了Qt读写Excel文件的各种常用的方法,包括一些第三方的插件。通常,在windos系统操作Excel上,QT有两种方式,一是通过COM组件,二是通过QODBC(数据库的方式)。QODBC读取100MB的Excel文件的时候需要十几分钟,因为太慢,这种方法舍弃。网上推荐是使用QAxObject通过COM组件读取,但是这个用法有问题,当机器没有安装Office的时候,是不能调用成功的,即使安装了WPS.转载 2022-03-03 10:54:23 · 5108 阅读 · 1 评论 -
详解 & 0xff 的作用(以Java代码为例)
详解 & 0xff 的作用转载 2022-02-18 14:43:25 · 2326 阅读 · 1 评论 -
Qt的QTcpServer连接后跨线程接收数据,即跨线程传递使用QTcpSocket连接对象
Qt QTcpServer类一个类(线程)listen监听连接,另一个类(线程)收发数据。Qt规定,QTcpSocket不能作为参数传递。用server端获取到连接QTcpSocket对象后如果要另一个线程收发数据。一个线程信号QTcpServer::newConnection的槽函数中 ,QTcpServer::nextPendingConnection()获取到QTcpSocket对象,然后通过QTcpSocket::socketDescriptor()获取到socketDescriptor后,原创 2022-01-04 18:39:15 · 2348 阅读 · 1 评论 -
Qt modbus相关类QModbusClient踩坑记录
qt 5.9.2读写串口,利用QModbusClient类,频繁读写时,运行一定时间后(20分钟、1小时……)串口发不出去数据,加上手动给它重连后经常会报异常,然后就是直接退出,debug最后的信息是qt.modbus: (Client) Device is not connected"in SerialModbus::sendModbusRawRequestBlock_test: Device not connected."ASSERT failure in processQueue: "send转载 2021-12-20 10:05:15 · 2958 阅读 · 0 评论 -
Qt中QComboBox实现下拉复选框
void MainWindow::init{ m_workshopListWidget = new QListWidget(this); m_workshopListWidget->setObjectName(QString("listWidget_wkshop")); for(int i=0; i< m_workshopList.length(); i++) { QListWidgetItem *item = new QListWidget.转载 2021-11-26 19:53:18 · 1358 阅读 · 1 评论 -
QT多线程中槽函数如何执行分析
周末天冷,索性把电脑抱到床上上网,这几天看了 dbzhang800 博客关于 Qt 事件循环的几篇 Blog,发现自己对 Qt 的事件循环有不少误解。从来只看到现象,这次借 dbzhang800 的博客,就代码论事,因此了解到一些 Qt 深层的实现,虽然是在 Qt 庞大的构架里只算的是冰山的一角,确让人颇为收益。 从 dbzhang800 的博客中转载两篇关于事件循环的文章,放在一起,写作备忘。 再次提到的一点是:事件循环和线程没有必然关系。 QThread 的 run(...转载 2021-10-28 15:20:34 · 2071 阅读 · 0 评论 -
解决32位的Qt5.2及以上版本无法连接64位mysql问题(本人实际用32位Qt5.9.2连接64位mysql8.0.22)
在使用Qt连接mysql数据库的时候,遇到过这样的报错,做一下记录和总结。 报错如下: (1)QSqlDatabase: QMYSQL driver not loaded (2)QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7————————————————Qt5.9.2如果使用的是mingw编译器,Qt只有32位的。连接64位的MySQL,即使把mysql安装目录下的libmysq...转载 2021-09-23 11:06:38 · 3132 阅读 · 9 评论 -
C++类前置声明和包含头文件的区别
转载自:C语言类前置声明和包含头文件的区别_Hesy_H的博客-优快云博客_c 前置声明看完《Effective C++》条款31有感。。尽量用前置声明代替头文件假设有一个Date类Date.hclass Date {private: int year, month, day;};如果有个Task类的定义要用到Date类,有两种写法其一Task1.hclass Date;class Task1 {public: Date getData();};其二转载 2021-09-16 09:43:06 · 545 阅读 · 0 评论 -
心跳机制TCP SO_KEEPALIVE的议论及其应用-断网检测的C代码实现(Windows环境下)
心跳机制tcp keepalive的讨论及其应用---断网检测的C代码实现(Windows环境下) 之前很多网友都问过一个类似这样的问题: tcp连接ok后,网络如果断了, 怎么检测断网? 其实, 说白了, 也就是检测tcp死链接。 在本文中, 我们来详细讨论一下, 并尝试用C代码实现这个断网检测功能。 本文的讨论还是以Windows为例, 程序也是在Wi...转载 2020-02-28 17:47:15 · 1389 阅读 · 5 评论 -
心跳机制TCP SO_KEEPALIVE详解
TCP协议中有长连接和短连接之分。短连接在数据包发送完成后就会自己断开,长连接在发包完毕后,会在一定的时间内保持连接,即我们通常所说的Keepalive(存活定时器)功能。默认的Keepalive超时需要7,200,000 milliseconds,即2小时,探测次数为5次。它的功效和用户自己实现的心跳机制是一样的。开启Keepalive功能需要消耗额外的宽带和流量,尽管这微不足道,但在按流量计...转载 2020-02-28 17:41:41 · 3319 阅读 · 0 评论 -
C++服务器设计(四):超时管理机制设计
前四章介绍了系统层的设计,从这一章开始进入服务层的设计。连接断开 在常见的服务器场景中,客户端断开连接的方式为被动关闭。即作为客户端请求完服务器的服务后,选择主动关闭同服务器的连接。在服务器的角度看,服务器是客户端连接套接字read系统调用返回0,触发关闭逻辑,服务器本地是被动关闭连接的。 但是在某些场景中,客户端虽然已经实际断开了与服务器的连接,但是服务器并不能及时检测出此时维护...转载 2020-02-24 16:33:51 · 1099 阅读 · 0 评论 -
Oracle VM VirtualBox下Ubuntu窗口最大化
1、安装增强功能2、Ubuntu的设置,调整分辨率原创 2020-02-18 15:05:54 · 1172 阅读 · 0 评论 -
libevent学习一:windows上简单的libevent例子
这里开发主要在windows上开发,熟悉的同学可以修改少量代码移植到linux上去,由于在windows上方便的原因,学习主要还是在windows上面开发,而且linevent是支持跨平台的,所以也可以不用太在意。 上一篇我们已经编译好了libevent,版本是2.1.8,使用的vs 版本是vs2017。 这里给大家推荐一下:http://www.wangafu.net/~ni...转载 2020-02-05 16:07:44 · 547 阅读 · 0 评论 -
libevent在windows下使用步骤详解
libevent是一个常用的网络库,下面就看看在windows下面编译测试的过程吧。一 环境系统:win8.1编译器:VS2013官方下载地址:http://libevent.org/版本:2.0.22-stable二 编译静态库1 解压把上面下载到libevent-2.0.22-stable.tar.gz解压,得到libevent-2.0.22-stable文件夹...转载 2020-02-05 15:58:26 · 362 阅读 · 0 评论 -
visual studio下源文件.cpp后缀改为.c后报异常
修改后主要两个问题:1、c要求所有变量的定义放在函数开头,这一点很快解决了。2、第二个问题如图,文件后缀为.cpp时编译正常,改为.c后就报WSAData未定义了,visual studio是支持编译c程序的,报错这是为什么呢?从网络上查询好久也没找到答案。后来在一个大神告诉说应该是WSADATA,试了试果然可以了,基础知识得学好呀!...原创 2019-12-30 17:48:11 · 1879 阅读 · 0 评论 -
C++内存泄漏的检测:Visual Leak Detector on Visual C++ 2017
Visual Leak Detector(以下简称:VLD) 是一个著名的 C/C++ 程序内存泄漏检测插件,而且还是免费且开源的。自从几年前发现了它,我一直用它直到现在。然而,现在最新版本的 VLD v2.5.1 官方并不支持 Visual Studio 2017,只支持 Visual Studio 2008 到 Visual Studio 2015。真的不支持 Visual Studio ...转载 2019-12-20 09:02:33 · 235 阅读 · 0 评论 -
Microsoft Visual C++各个版本运行库下载
Microsoft Visual C++ 2005Microsoft Visual C++ 2005 Redistributable Package (x86)https://www.microsoft.com/zh-cn/download/details.aspx?id=3387Microsoft Visual C++ 2005 Redistributable Package (x64...原创 2019-10-15 09:46:27 · 9188 阅读 · 0 评论 -
MySQL Connector/C++ 操作MySQL数据库
Connector/c++库的编译: 1、把MySql数据库安装完成后,把bin目录加入环境变量。 2、下载boost库,官网就有下载:http://www.boost.org/ 3、安装cmake工具,加入环境变量。 命令行: cmake -G , 列出cmake支持生成工程文件的各个版本。 4、下载 Con...转载 2019-05-25 16:49:25 · 2561 阅读 · 0 评论 -
C++socket客户端select异步连接发送接收数据
转自:https://blog.youkuaiyun.com/beichen_yx/article/details/53538583 int RFID_STANDARDPROTOCOL_API __stdcall Socket_SendAndRecv(SOCKET Socket, unsigned char * SendBuf ...转载 2019-05-05 09:50:10 · 2121 阅读 · 0 评论 -
C++常量指针、指针常量
const char *p; 常量指针,指向一块区域,这块区域不可写,只能读。char * const p; 指针常量,指向一块区域,这块区域可读可写,但是指针的值初始后就不能改,类似于一般常量。const char * const p; 上面两种类型的综合,指针指向的区域不可写,可读。指针初始化后不能改。至于有什么用,看具体要求。比如char * stpcpy(char *s1, con...转载 2018-11-01 17:32:40 · 657 阅读 · 0 评论 -
windows下Google Protocol Buffer 编译安装使用教程
转载自:http://kuaile.in/archives/1214protobuf的全称是Protocol Buffer,它是google 的一种数据交换的格式,可用于用于分布式应用之间的数据通信或者异构环境下的数据交换, 最近因为项目的需求,需要接触Protobuf,在官方提供的压缩包中,提供了Linux下的编译脚本,但是,由于项目在windows下开发,因此,需要在Windows编译和...转载 2018-06-06 17:44:44 · 1556 阅读 · 0 评论 -
C++的ORM工具比较
转自:https://www.cnblogs.com/lvdongjie/p/6163368.html用过Java的都知道SSH框架,特别对于数据库开发,Java领域有无数的ORM框架,供数据持久层调用,如Hibernate,iBatis(现在改名叫MyBatis),TopLink,JDO,JPA……非常方便实用。用过C#的同学们也都知道通过CodeSmith软件,生成微软的Pet...转载 2019-05-22 10:12:39 · 7852 阅读 · 1 评论 -
ORM:ODB安装使用过程
转自:https://www.cnblogs.com/lvdongjie/p/6163388.html1.下载odb-2.4.0-i686-windows,是cpp和sql文件生成工具,已经编译好了,如果下odb-2.4.0估计是未编译好的这个项目;2.将...\odb-2.4.0-i686-windows\bin添加到环境变量Path,以便能使用odb.exe进行命令生成文件;...转载 2019-05-22 10:14:13 · 403 阅读 · 0 评论 -
ORM:ODB学习笔记之基础环境搭建
转自:https://www.cnblogs.com/lvdongjie/p/6163415.html一,简介ODB是应用于C++的一个开源、跨平台、跨数据库的对象关系映射(ORM)系统。它可以让你持久化C++对象到关系数据库,而不必处理表、列或者SQL,无需手动编写任何映射代码。ODB支持MySQL,SQLite,PostgreSQL,Oracle和微软SQL Server关系数...转载 2019-05-22 10:15:19 · 1026 阅读 · 0 评论 -
C++数据库访问类库SOCI、LiteSQL、POCO对比
最近在做视频的开发,其中视频的设备接入管理服务器、流媒体管理服务器、中心服务器都涉及到了数据库的操作,同时需要兼容大多数版本的数据库,包括mysql、sqlite、oracle。公司原来使用的是ado来进行数据库的开发的, 但是考虑到目前需要兼容linux,目前使用Poco框架封装的数据库模块进行开发。根据项目情况我对soci、litesql、poco这三个框架进行了简单的学习来确定选择那个框...转载 2019-05-22 11:57:35 · 2351 阅读 · 0 评论 -
C++ POCO库(访问数据库,版本问题,本人配置失败)
官网下载源码:https://pocoproject.org/一、POCO库简介学习一个框架前,要先明白它的是什么,为什么,怎么用.下面这些文字,是从中文poco官网上转过来的,正如poco c++库的特点,非常清晰,代码风格更是一目了然. poco开发库的特点,非常适合写后台处理程序,效率也是很高的.前台界面程序使用Qt框架库,非常好,两个库相辅相成,可解决项目上的大部分问题....原创 2019-05-23 12:01:15 · 2164 阅读 · 0 评论 -
MySQL Connector/C++ 操作MySQL数据库(配置成功,本人在用)
一、官网下载https://dev.mysql.com/downloads/connector/cpp/源码生成需要cmake编译,本人直接下载了生成好的lib、dll、.h文件直接使用:解压后:二、配置(vs2017)1、项目/属性/(C/C++)/常规/附加包含目录 中添加.h文件所在的include文件夹。2、项目/属性/链接器/常规/附加库目录 加入.lib所在...原创 2019-06-05 17:52:51 · 15157 阅读 · 7 评论 -
MFC按钮自绘
之前经常看到同事和各位网友说控件自绘,没有相关需求,所以一直没有了解过,现在终于忍不住,学习下这方面知识。 控件自绘的方式有两种:1.将控件的自绘封装成一个类,控件类中自己绘制2.直接在父窗口进行自绘。首先学习下第一种方式,在vs2008下示例:1、建立基于对话框的MFC程序OwnerDrawing,添加按钮ID为IDC_BUTTON1。2、项目名上右击->添加->类,添加MFC类(...原创 2018-05-29 18:42:35 · 927 阅读 · 2 评论