自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

转载 Linux系统C++程序编译与运行时加载动态库路径的设置

库文件在链接(和共享库)和运行(仅限于使用共享库的程序)时被使用,其搜索路径是在系统中进行设置的。一般 Linux 系统把/lib和/usr/lib两个目录作为默认的库搜索路径,所以使用这两个目录中的库时不需要进行设置搜索路径即可直接使用。但是,对于处于默认库搜索路径之外的库,就需要将库的位置添加到库的搜索路径之中。

2023-11-29 14:37:18 901

原创 C++11线程以及线程同步

C++11中提供的线程类std::thread,基于此类创建一个新的线程相对简单,只需要提供线程函数和线程对象即可。

2023-11-27 14:23:12 341

原创 QTCP/QUDP通讯建立思路分析

一、 对于QT中的UDP通讯建立,必须使用QT自己的UDP类,即QUDP。那么如何建立QUDP通讯,来作为上、下位机通讯呢??思路分析:第一步: 实例化QUdpSocket套接字(new QUdpSocket)第二部: 绑定本程序IP与端口地址,boolbind ( const QHostAddress & address, quint16 port )完成以上两步后,需要接收数据,或者发送数据。方法1:接收数据需要绑定信号:voidreadyRead (), 在自定义的..

2021-03-05 22:25:35 1106

原创 TCP协议详解

TCP协议 TCP协议报文格式

2021-02-28 17:44:51 654

原创 UDP协议详解

UDP协议1. 如下:UDP协议的报文格式UDP协议分为UDP 报文头和 UDP 数据区两部分:UDP报文头为8字节(分别为源端口号、目的端口号、UDP数据长度、UDP数据校验和)源端口:这个字段占据 UDP 报文头的前 16 位,是发送数据报的应用程序所使用的 UDP 端口。接收端的应用程序利用这个字段的值作为发送响应的目的地址。这个字段是可选的,所以发送端的应用程序不一定会把自己的端口号写入该字段中。如果不写入端口号,则把这个字段设置为 0。这样,接收端的应用程序就不能发送响应了。 目

2021-02-27 19:23:19 3335

转载 网络传输中,TCP黏包,UDP不黏包的详情介绍

有关TCP和UDP 粘包 消息保护边界在socket网络程序中,TCP和UDP分别是面向连接和非面向连接的。TCP的socket编程,收发两端(客户端和服务器端)都要有一一成对的socket,因此,发送端为了将多个发往接收端的包,更有效的发到对方,使用了优化方法(Nagle算法),将多次间隔较小且数据量小的数据,合并成一个大的数据块,然后进行封包。这样,接收端,就难于分辨出来了,必须提供科学的拆包机制。对于UDP,不会使用块的合并优化算法,这样,实际上目前认为,是由于UDP支持的是一对多的模式.

2020-11-05 09:52:11 1106

原创 Visual Studio Code与MinGW-w64环境构建

1. VS Code编辑器软件下载,可直接在官网下载https://code.visualstudio.com/Download2. 编译器下载,现在很少用到32位了,所以VS Code与编译器均配置为64位(Windows Mingw-w64)https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/min..

2020-09-06 22:34:57 880

原创 局部变量在函数中的销毁顺序,以布局的形式将子窗口放置于父窗口,如何才能做到安全释放

场景:1. 在main函数中实例化主窗口BentchWgt,并且实例化子窗口FramRecv,两者均继承自QWidget, 子窗口通过水平布局器放置于主窗口之上。2. 在关闭程序后,由于主窗口设置了setAttribute(Qt::WA_DeleteOnClose, true); 属性,该属性的现象是当关闭后主窗口对象会自动释放,无问题。3. 当函数执行到子窗口的析构函数时确报了错。如果去掉第二步中的关闭后自动删除属性,则不会有此问题,分析出现此问题的原因是由于主窗口被提前删掉,导致寄存于主

2020-07-24 10:46:37 372

原创 子窗口设置背景无效,有部分会被父窗口同步设置

场景:继承自QWidget,自定义实现标题栏,实现之后可通过提升来使用到具体的主窗口中,以作为标题栏。但是由于主窗口设置了背景色,通过样式表设置,这时候在主窗口加了Widget,并将标题栏提升之后,似乎标题栏的背景消失了,对标题栏不生效,仅仅对标题栏之上的按钮有作用,这是什么原因呢? 待进一步研究,当然,解决方法还是挺多的,仅记载。...

2020-07-23 14:34:40 235

原创 VS编译器生成pdb文件,程序崩溃后生成dump文件,dump调试细节

使用VS编译器如何调试dump文件呢?1. 个人总结2. 直接查看微软关于调试的文档,帮助文档地址:https://docs.microsoft.com/zh-cn/visualstudio/debugger/specify-symbol-dot-pdb-and-source-files-in-the-visual-studio-debugger?view=vs-2015&redirectedfrom=MSDN...

2020-05-21 12:02:49 603

转载 QT多线程中槽函数如何执行分析

周末天冷,索性把电脑抱到床上上网,这几天看了 dbzhang800 博客关于 Qt 事件循环的几篇 Blog,发现自己对 Qt 的事件循环有不少误解。从来只看到现象,这次借 dbzhang800 的博客,就代码论事,因此了解到一些 Qt 深层的实现,虽然是在 Qt 庞大的构架里只算的是冰山的一角,确让人颇为收益。 从 dbzhang800 的博客中转载两篇关于事件循环的文章,放...

2020-04-09 23:54:28 6133 5

原创 根据谷歌开源C/C++代码规范,整理自己认为比较合适的代码规范,逐渐补充并修改

1. 对于函数的命名,采用驼峰命名,即大小写命名,首字母小写,谷歌建议首字母大写,但是个人觉得大写稍有突兀,故采用小写。名字最好不要使用省略待补充........

2020-04-03 17:33:19 300

转载 C / C ++项目代码规范,谷歌开源代码规范,个人推荐

google开源C / C ++项目代码规范1.头文件每通常一个.cc文件都有一个对应的.h文件。也有一些常见例外,如单元测试代码和只包含main()函数的.cc文件。正确使用头文件可令代码在可读性,文件大小和性能上大为改观。下面的规则将引导你规避使用头文件时的各种陷阱。1.1. 自包含的头文件TIP头文件应该能够自给自足(自包含的,也就是可以...

2020-04-03 11:13:56 641

原创 继承自QAbstractItemModel公有类,实现树形列表时,注意不要使得parent函数造成死循环

一般实现树形model中必须要实现parent函数,目的是为了获取上一级节点。而大多数开发者可能会使用判断父亲节点是否有效的方法来确定当前是第几级,当前需要构建什么样的节点。但是在parent函数中,是不能使用判断父亲节点来构造父亲的,因为会造成系循环,具体看如下例子:所以,如果在继承自QAbstractItemModel,并且需要实现树形列表,同时,又使用了下面函数构建节点的时候,则...

2020-03-25 10:42:19 551

原创 QNetworkInterface,Qt获取主机网络信息

QNetworkInterface类提供了一个主机IP地址和网络接口的列表。QNetworkInterface表示了当前程序正在运行时与主机绑定的一个网络接口。每个网络接口可能包含0个或者多个IP地址,每个IP地址都可选择性地与一个子网掩码和(或)一个广播地址相关联。这样的列表可以通过QNetworkInterface的addressEntries()方法获得。作为一种可选的方案是,当子网掩...

2020-02-27 14:46:32 515

原创 #pragma execution_character_set解决中文乱码

VS下字符集经常会出现中文乱码问题,注意几点即可:1. 在cpp文件中设置编码字符集,只在VS编译器下生效#if _MSC_VER >= 1600#pragma execution_character_set("utf-8")#endif详细介绍如下截图2. 另外要保证绝对的中文无乱码,最好设置以下2.1 设置开发cpp文件为UTF-8,(...

2019-09-27 12:38:39 13635 1

转载 JAVA与C++间的SOCKET通信问题

原文链接:https://blog.csdn.net/u011490813/article/details/16991571Java与C++之间的Socket通信,对于小的数据量和控制命令,直接可以封装成json或xml格式,进行传输。但对于文件等大数据量传输,必须要将文件封装成帧,每一帧都设定固定大小的缓冲区,逐帧传输。此时json和xml便不再适用了。在此过程中要需解决如下问题:1...

2019-09-25 15:49:58 1414

原创 QSortFilterProxyModel造成程序奔溃挂掉,在源模型model删除或增加时

使用QSortFilterProxyModel排序过滤模型实现某一个排序功能,整个功能OK,但是在删除某一行或者增加某一行的时候,程序无名奔溃死掉。多次检查程序实现过程、调试发现自己代码均无问题,初步定位QT库本身内部奔溃。 工程环境:QT4 使用视图模型,QAbstractTableModel/QTableView ,使用QSortFilterProxyModel代理...

2019-07-22 23:13:54 2038 2

原创 QT中设置透明窗体多种方法解决

以下是整理的4中设置透明窗体的方法(1)Qt::WA_NoSystemBackground, Qt::WA_TranslucentBackground:setAutoFillBackground(false);//这个不设置的话就背景变黑setWindowFlags(Qt::FramelessWindowHint);...

2019-06-30 23:08:25 4978

原创 QT中setWindowFlags和 setAttribute使用详解及注意问题

1. setWindowFlags(QT::WindowFlags)主要设置一些窗口标志,平常开发中主要有两类需求:1.1 将某一子窗口设置为最顶层窗口。 使用Qt::Tool 属性:setWindowFlags(Qt::Tool) 1.2 重新定义窗口的属性,比如:取掉最大、最小、关闭等按钮,或者直接使用无边框窗口 ...

2019-06-27 23:32:50 14394

原创 mysql安装时卡在starting server的解决方法

mySql安装一直停留在starting Server主要由两方面原因造成:第一:主要是安装mySql时需要生成日志与错误文件,安装时不勾选show Advanced Options,则安装过程中会自动生成包含计算机名称的日志文件,如果恰好计算机名称中包含中文,则是不行的。所以,就要卸载,重新安装,勾选show Advanced Options选项,在接下来弹出的Advance...

2019-04-20 14:29:01 70786 43

原创 多路IO复用模型select函数使用实例

linux中IO多路复用技术主要有三种:select 、poll 、epoll。1. 什么是多路IO复用:其实就是通过一种机制,可以监视多个描述符(Linux中一切皆文件,打开一个文件就需要一个文件描述符,同样,在套接字中建立一个连接也需要一个描述符,这个描述符在计算机中是有个数限制的),一旦某个描述符可读或可写或某些我们需要的状态发生变化,则这种机制就能通知程序,从而进行读写或其它操作。...

2018-12-02 15:31:21 1186

原创 字节序之大小端及使用注意问题

大小端字节序网上已经介绍很多,这里只做大概介绍:A.小端序:低位字节放在内存的低地址端,高位字节放在内存的高地址端B.大端序:低位字节放在内存的高地址端,高位字节放在内存的地址端申请计算机内存及分配下面举例说明计算机分配内存地址:申请四个int型地址,分别输出各个下标地址输出结果:从输出结果可以看出:内存的地址申请是连续的,并且是从小到大的 字节序及高低位...

2018-11-23 20:28:07 788

原创 C/C++内存池管理中出现 结构字节对齐问题 及 linux下程序 bus error 错误

某一款ARM设备界面程序开发: 为避免通讯过程中重复申请内存增加内存碎片率并影响效率,开始申请足够大小空间作为内存池供通讯数据使用,根据界面程序收到通讯数据大小在内存池中找到未被利用的内存块,使用完毕之后释放,归还至内存池。1.    收到通讯数据并转化为字节对齐结构,转化成功,但是在获取该结构中具体值时偶尔会出现程序奔溃情况(会报BUS Err错误),2.    将该段内存数据转化为ch...

2018-07-21 13:06:07 1458

空空如也

空空如也

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

TA关注的人

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