- 博客(11)
- 收藏
- 关注
原创 Qt平台下TCP通信
Tcp理论Tcp协议TCP三次握手假设客户端主机A向服务器端主机B请求一个TCP连接。主机B运行了一个服务器进程,它要提供相应的服务,就首先发出一个被动打开命令,要求它的TCP准备接收客户进程的连接请求,此时服务器进程就处于“监听”状态,等待客户的连接请求。如有,就做出响应。这里以SYN、ACK表示TCP报文段中的控制位,以seq、ack分别表示TCP的发送序号和确认序号。连接过程分为以下3步。这里以SYN、ACK表示TCP报文段中的控制位,以seq、ack分别表示TCP的发送序号和确认序号;
2021-06-23 15:33:30 408
原创 2021-06-16
---------第8讲 如果在头文件中定义静态变量,在多个源文件中包含该头文件,会出现什么后果 ---------答:如果在头文件里定义普通变量,在多个源文件中包含该头文件,则会编译报错提示重复定义,由此可见在头文件中的全局变量没被#include一次,就会被声明定义一次,从而导致内存空间的浪费。C++中全局变量的定义方法如下...
2021-06-16 16:03:06 192
原创 第2讲 引用和指针的区别
第2讲 引用和指针的区别1、指针:指针是一个实体,需要分配内存空间;定义的时候可以初始化也可以不初始化;指向的空间可以变化;(1) .h文件中QFile* my_file;RadarDataProcessingObject* radar_data_processing_object;(2).cpp文件中my_file = nullptr;radar_data_processing_object = new RadarDataProcessingObject;2、引用:引用只是一个变量的别
2021-06-15 19:17:28 285
原创 第1讲 C++的头文件与源文件
一、头文件(.h):头文件中可以放入的内容有 1.函数原型、2.使用#define或const定义的符号常量、3.结构声明、4.类声明、5.模板声明、6.内联函数1.函数原型:是指编译器在遇到对特定函数的调用之前,它必须知道函数使用的形参的数量、每个形参的类型以及函数的返回类型void hanShuYuanXing(); // 函数原型2.使用#define或const定义的符号常量(1)#define定义:它用来讲一个标识符(宏名)定义为一个字符串,优点是:方便程序修改 (a) 简
2021-06-15 11:20:10 1287
原创 extern
全局变量定义extern// 在头文件(hhhhh.h)文件用extern声明,注:仅仅是声明,并不分配内存空间extern RadarSystemState g_radar_system_state;// 在相应的源文件(hhhhh.cpp)中添加定义,定义一定要添加在#include之后,注:为变量分配内存空间#include <QDebug>RadarSystemState g_radar_system_state;如果想在其它头文件或者(.h/.cpp)中使用这个全局变量
2021-06-09 15:58:32 107
原创 Qt下的UDP通信(收和发)
1、在pro文件中添加QT += network2、在头文件中添加类的前置声明,再声明一个类对象class QUdpSocket;QUdpSocket *sender;3、使用writeDatagram()函数来发送数据 sender->writeDatagram(datagram.data(), datagram.size(), QHostAddress::Broadcast, 45454);writeDatagram()函数模型如下qint64 QUdpSocket::wr
2021-05-17 20:29:44 7923
原创 数据结构1
数据结构基本概念1、通俗来讲:数据结构就是计算机存储、组织数据的方式,目的是为了使计算机存储数据更加合理、进而提高存储空间的利用效率,以及代码的运行效率。2、数据结构一般可分为线性结构和非线性结构(1)线性结构:有且仅有一个开始结点和一个终端结点,所有结点都最多只有一个直接前趋结点和一个直接后继结点。(链表、栈、队列和串等)(2)非线性结构:一个结点可能有多个直接前趋结点和多个直接后继结点。(数组、广义表、树结构和图结构等)3、常用的数据结构(1)数组(Array)(2)栈( Stack):
2021-04-07 19:23:24 191 1
原创 多普勒频率
多普勒频率:接收频率与发射频率的差值,观察者接收到的频率等于观察者在单位时间内接收到的完全波的个数,因而单位时间内通过接收者的完全波的个数,即接收的频率。上面是原理:已知多普勒频率是指单位时间内接受者接收的到完全波的个数,应先计算相位差,相位差是位移差/波长*2pi,而多普勒频率又等于相位差/(2pi 时间) ,总的来说就是径向速度/波长对于雷达来说,也是径向速度/波长,但是要扩大2倍,因为时间是从波发出开始计算的。...
2021-03-18 11:46:24 18404 3
原创 Qt的getOpenFileName()函数使用
Qt的getOpenFileName()函数使用为了说明QFileDialog::getOpenFileName()函数的用法,首先要清楚函数的完整定义:QString QFileDialog::getOpenFileName ( QWidget * parent = 0, // parent,用于指定父组件。 const QString & caption = QString(), // caption,是对话框的标题; const
2021-03-16 15:09:16 21612 2
原创 QMutexLocker的用法
**QMutexLocker的用法**1、什么是QMutexLocker ?答:QMutexLocker 是基于QMutex的便利类2、为什么要引入QMutexLocker?答:(1)QMutex的目的是保护一个对象、数据结构或者代码段,所以同一时间只有一个线程可以访问它。但是QMutex的操作很繁琐,并且容易出错,并且出错了调试很麻烦,因此使用QMutexLocker这个类就能很好的避免这个问题。(2)QMutexLocker上锁,解锁的原理:在该局部变量被创建的时候上锁,当所在函数运行完毕
2021-03-16 10:38:08 3820
原创 Qt启动后分辨率不对(界面字体图标偏大)的解决方法
Qt启动后分辨率不对(界面字体图标偏大)的解决方法解决方法:调整电脑分辨率(开始-设置-系统-显示-缩放与布局-125%)即可## 标题
2020-10-23 11:37:01 3185
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人