自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

KLh

你相信光么?“变身”

  • 博客(125)
  • 资源 (2)
  • 收藏
  • 关注

原创 UTF-8编码,转码汉字的实现总结,以及QT‘

/str_ssid中包含的字符就是“\xe9\xa3\x9e”,注意这里的\是包含在里面的字符而不是分隔符。2.现在需要对字符串 “\xe9\xa3\x9e”进行处理 变成““e9a39e””,用16进制的格式存到分别存到3个字节中,这样才能识别出中文来。wifi模块中将wifi中的ssid已char[]数组存起来,char[]数组中的内容是“\\xe9\\xa3\\x9e”- 四字节:U+10000至U+10FFFF,编码为`11110xxx 10xxxxxx 10xxxxxx 10xxxxxx`

2024-04-25 15:05:43 429 1

原创 Qt C++ linux 下获取磁盘空间

Qt C++ linux 下获取磁盘空间

2022-08-17 20:42:47 1030 1

原创 工作中 常用的linux命令

工作中 常用的linux命令

2022-08-05 19:23:01 200

原创 如何通过实例对象获取虚函数表,并调用对应的虚函数

如何通过实例对象获取虚函数表,并调用对应的虚函数

2022-08-03 20:49:45 470 1

原创 C++的动态多态中的虚函数

C++的动态多态中的虚函数

2022-08-03 20:25:48 267 1

原创 有关开工两个月以来的QT总结

这是我年后的第一篇文章,开篇先说一说心理话吧,年前的状态总的来说是比较浮躁的,这一个月基本上都是玩乐了,休息时间很少有自己去学习,在这里立一个flag,每周一更继续。这篇文章主要是对这个月的一些收获进行总结:看书总结,最近再看的书主压迫有两本,一本是C++白皮书、一本是《你必须知道的495个C语言的问题》。现在C++白皮书目前已经看到C++11章节结束了,后面就是C++14章节了,我打算后面的我会零碎的去看看,毕竟现在用到工作的还是C++11,C++14基本很少用于实践。白皮书这本书...

2022-03-07 20:47:53 471

原创 2021年回顾

21,对我来说是特殊的一年,2021年7月之前,我还是个学生,7月之后我就已经是一名打工人了。我所在的公司是深圳市某医疗公司。公司待遇总的来说属于一般吧,每个月有8.5k加上加班费差不多有1个w,对于应届生的我来说自己还是比较安于现状的。21获得了什么?21年我开始写博客,一年下来积累了280多个粉丝,中间由于工作的原因停更了差不多3个月,之后有开始慢慢写了。21年开始接触一些大型项目,不再局限于大学的小demo,由于我现在的工作岗位是QT嵌入式软件工程师,所以在QT方面...

2022-01-18 20:13:58 175

原创 QT 编程 linux系统下获取我们的磁盘内存(总共、已用、剩余)

通过使用Qprocess 以及一些Qstring的巧妙用法来解决。#include "widget.h"#include "ui_widget.h"#include <QProcess>#include <QDebug>#include <sys/sysinfo.h>#include <QTimer> Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui:

2022-01-13 20:31:14 2971

原创 QT线程之,与主线程的通信

首先我们需要直到Qt程序是怎样运行的。在Qt程序开始执行时,只有主线程时开始运行的。只有在主线程中 我们才会被允许创造QApplication或者QCoreApplication对象。并且对创建的对象调用exec()的线程,在调用exec()之后,这个线程开始等待一个时间或者处理一个事件。我们可以通过创建QThread子类的对象, 主线程可以开辟一些新的线程。向我上一篇文章写的那样,这些新线程之间的同行,我们可以使用含有互斥锁、读写锁、信号、等待条件的共享变量。当时这些是不能用来与主线程...

2022-01-05 20:16:32 2308 1

原创 QT中的同步线程

一、多线程的应用程序最基本的绣球就是做到多个线程能够同步进行,QT为我们提供了几个类用于线程的同步:QMutex,QReadWriteLock、QSemaphore、QWaitcondition。 接下里我将详细学习上面缩写的四个类二、QMutex(互斥量):QMutex提供一个保护一个变量或者一段代码的作用,每次只让一个线程去读取他。 QMutex中提供了一个Lock()函数来锁住互斥量(Mutex)。如果互斥量是解锁的(...

2022-01-01 09:31:16 666

原创 Makefile 学习日记四 伪目标、静态模式、多目标

一、伪目标什么是伪目标 。实际上 我们之前文章提到过的“clean”就是一个伪目标。clean:rm *.o temp 我们并不会生成“clean”这个文件,“伪目标”并不是一个文件,它只是一个标签,由于伪目标不是一个文件,所以make无法生成它的依赖关系,也不能决定是否要执行它,只有当我们明确的指示这个目标他才会生效。 注意:伪目标不能够和文件名重名。 makefile 为了解决重名,定义了 ”.PHONY“ 它能够鲜明的指明一个伪目标...

2021-12-19 11:35:03 592

原创 MakeFile 学习日记三(C++)makeFile 注释、引用其他makefile、通配符、文件搜索

一、Makefile的注释: Make file中只有行注释,在Unix的Shell脚本一样,其注释是用”#“字符,类似于C++中的"//”,如果要在Makefile中使用“#” 要用“\”进行转义 :“\#” 在makefile中的命令,必须要以【Tab】键开始二、引用其他的Makefile 在Make file中可以使用include关键字可以把别的Makefile包含进来,被包含的文件要放在当前文件的包含位置。Make file的语法: Inc...

2021-12-17 20:35:47 2590 1

原创 MakeFile 学习日记二(C++)makeFile中的变量、自动推导、风格、清除

edit : main.o kbd.o command.o dislplay,o \insert.o search.o files.o utils.o cc -o edit main.o kbd.o command.o dislplay,o \insert.o search.o files.o utils.o main.o : main.c defs.hcc -c main.ckbd.o : kbd.c defs.h command.hcc -c kbd.ccommand.o :comm.

2021-12-06 20:52:00 855 1

原创 MakeFile 学习日记一(C++)makeFile简介

一、简略说一下为什么要学习Make File,并且把它单独划分作为一个专栏: 大学学习期间,我对于Make File的理解并不是很深,感觉仅仅只是了解,能看懂这个等级,工作之后,由于我的工作是嵌入式相关的,所以接触的项目很多都是大型的项目,而Make file能否编写,从侧面能够反映出我们是否具备能够完成一个大工程的能力。 我们能够通过Makefile 文件,来看出一个项目的脉络,如果把一个项目比喻成一个大树,那我认为MakeFile则是去规划树的主体、枝干是如何生长...

2021-12-06 20:12:53 844

原创 qt学习日记10---事件、自定义控件

1 事件的介绍 在qt中,事件主要分为两种: 1. 与用户交互的,通常他们来自于底层操作系统,比如:鼠标,键盘 2. qt系统内部发生,比如:计时器事件 当一个应用程序运行时,它exec()会进入一个循环,可以 从操作系统获取事件,并将事件 放入到事件 队列中,并将它转换成一个QEvent对象,QApplication通过sendEvent函数来分发事件, 事件的接收者为QObject,在该类中提供一个虚函数QObject::event(),来处理事件。常用接口函数.

2021-07-31 15:31:48 181

原创 qt学习日记9--qt中的线程

一、qt线程角色二 qt中线程 在QT中,对于 线程操作也是提供类(QThread)来进行封装,然后再学习该类的API接口 2.1 线程的创建 线程的创建方式:自定义一个类继承于QThread,并且 重写该类的run函数,run函数 中,就是 子线程要执行任务。在创建线程后,要进行启动线程 操作 ...

2021-07-31 14:01:40 255

原创 力扣(2021.7.30)

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。示例 1:输入: nums = [1,3,5,6], target = 5输出: 2示例2:输入: nums = [1,3,5,6], target = 2输出: 1示例 3:输入: nums = [1,3,5,6], target = 7输出: 4示例 4:输入: nums = [1,3,5,6].

2021-07-30 20:09:28 72

原创 MiniGUI学习日记一----MiniGUI基础编程篇

一、什么是事件驱动编程: MinGUI是一个图形用户界面支持系统。通常的GUI编程概念均适用于MiniGUI编程。二、焦点和光标: 焦点和光标的概念用于管理输入设备和输入事件的传送。鼠标光标是一个绘制在屏幕上的小位图,指示当前的鼠标位置,应用程序可以绘制哪一个位图以及是否显示光标。应用程序还可以捕捉光标并获取光标事件。三、MINIGUI的三种运行模式 ① MiniGUI-Threads,运行在MiniGUI-Threads上的程序可以在不同的线程...

2021-07-30 10:39:28 3741

原创 QT日记八,QT中的json应用

一、什么是jsonJSON就是数据封装形式,它是用来封装数据,相当于一个 包装盒子。JSON对象 ---- > 单个类型的数据,比如:int char string JSON数组 ----> 相当于一个数组,可以用来存放:int char ,类类型 在数据封装中,使用符号“{ }”代表对象,使用符号“[ ]”代表数组JSON对象和JSON数组的关系: JSON对象可以嵌套JSON数组 JSON数组可以嵌套JSON对...

2021-07-29 16:36:24 383

原创 力扣(21.7.28)

你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用bool isBadVersion(version)接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。示例 1:输入:n =...

2021-07-28 21:34:16 75

原创 力扣题库每日一题(7.27)

二分查找给定一个n个元素有序的(升序)整型数组nums 和一个目标值target ,写一个函数搜索nums中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例2:输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -1来源:力扣(L...

2021-07-27 19:48:49 176

原创 每日力扣(7.26)

给定一个非负整数 n。对于 0 ≤ i ≤ n 对于范围中的每个数字 i,计算其二进制数中的 1 的数目并将它们作为数组返回。  样例输入:7  样例输出:[ 0 , 1 , 1 , 2 , 1 , 2 , 2 , 3 ]案例思路:0 1 2 3 4 5 6 70 1 1 2 1 2 2 3基础框架:...

2021-07-26 22:25:40 78

原创 2021/7/26

今天是工作的第一天,刚进入企业感觉一切都有很大不同,简单记录记录吧!我现在工作的企业是**医疗,企业到现在给我的感觉还是很不错的,很多东西都很规范,good----------------------------------------------------------今天主要的任务是熟悉公司的相关制度,和一些工作规范,在校生也可以借鉴借鉴。公司主要使用的环境是ubuntu,但是他和我之前在自己电脑上装虚拟机有很大的不同是,公司中很多东西都是保密的,不能...

2021-07-26 14:41:06 88

原创 每日力扣(2021.7.25)

题目:寻找两个正序数组的中位数难度:困难给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5

2021-07-25 22:12:20 68

原创 QT学习日记七--应用程序设计和文件操作

一、给应用程序设置菜单栏 第一步:在UI设计师,直接双击菜单栏 第二步:在UI设计师,修改文本内容和其他设置 进行设置设置的效果图如下:给菜单选项,增加图片资源 二 输入对话框(QInputDialog) 让用户比较方便的输入一些单一信息(The QInputDialog cla...

2021-07-23 15:59:07 160 1

原创 Qt学习日记六---QT功能类、对话框和文件操作

首先简单介绍一些使用QT开发手册的技巧对于Qt而言,在实际的开发过程中, 1)开发者可能知道所要使用的类 ---- >帮助手册 --->索引 -->直接输入类名进行查找 2)开发者可能不知道所要使用的类,只知道开发需求文档 ----> 帮助 手册,按下图操作:一、QT中时间和日期 时间----QTime日期----QDate1.QTime头文件:#include <QTime>模块:在项目的pro文件...

2021-07-23 15:34:41 326 1

原创 QT学习日记五---在项目中添加资源

图片格式:jpg ,png 图片的名字不是以数字开头 实现步骤: 第一步:在工程项目目录下,创建一个目录--- image,并将图片拷贝到目录 下 第二步:右击项目 ---- > new ---> 在弹出的对话框中,设置如下图所示。继续点击下一步,完成即可。 第三步:添加文件 在添加文件之前,要先设置一个前缀 设置完前缀后,再点击添加按钮,然后选择要添加的文件。 第四步:保存文件第五步:给控件使用图片资源 --- ui文件中使用 ...

2021-07-22 09:59:39 95

原创 QT学习日记四--QT基本控件和功能类(进度条、水平滑动、垂直滑动、按钮类、定时器)

一 进度条 、水平滑动条 垂直滑动条特征:可以获取当前控件的值和谁知他的当值------intui‐>progressBar‐>setValue(value); //给进度条设置一个整型值ui‐>progressBar‐>value();//获得当前进度条的值ui‐>progressBar‐>setMaximum(255)ui‐>progressBar‐>setMinimum(0)①QProgress常用信号:...

2021-07-22 09:57:38 777

原创 QT学习日记三--QT的基本控件、信号与槽

1.Qstring类 功能:显示一个字符串内容 构造函数: Qstring(const char* str) Qstring (const Qstring &Other) Qstring() 赋值运算符重载: Qstring operate =(const Qstring &other) ...

2021-07-21 18:11:42 485

原创 QT学习日记二--快速入门

1.QT的第一个程序①创建项目:②设置项目名和路径--注意路径必须是英文③选择kits④选择窗口界面的基类———基于图形界面窗口初学者建议选择QMainWindow⑤项目结构简单了解qt中API接口库都是采用模板块来进行管理,所以,要使用该API接口库,就必须要 使用模块,在pro文件中⑥编译运行2.添加ui文件,(也就是添加界面)①右击项目选择new②根据界面的基类类型选择对应的模板...

2021-07-20 22:19:54 154 1

原创 qt学习日记1——qt

1.QT是什么?Qt[1]是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。2.QT支持哪些平台:MS/Windows - 95、98、NT4.0、ME、2000、XP 、 Vista、Win7、win8、win2008、win10Unix/X11 -Linux、SunSolaris、HP-UX、CompaqTru64UNIX、IBMAIX、SGIIRIX、FreeBSD、BSD/OS和其它很多X11平台Macintosh -Mac OS...

2021-07-20 21:56:13 166

原创 面试之路-----二

本篇文章只会简略的写面试官经常会问到的一些问题,具体的实现原理希望大家还是再百度百度1.面试必问题目:TCP、UDP先写个废话,大部分面试官其实都不会问了,因为太简单了:TCP/IP四层模型:数据链路层、网络层、传输层、应用层百度上q了一张,差不多就设这个意思首先了解一下两者的区别:1.数据传输方面:TCP是字节流(实际上是一个一个数据包),UDP是数据报 2.TCP是面向连接的,UDP是无连接的。变现出来的就是TCP客户端需要设置...

2021-07-20 21:30:35 103 2

原创 面试之路一---总结

1.动态库和静态库的区别?当时的我是这样回答的:对于动态库,程序在编译时是一起编译的,而静态库是直接编译到函数里面。正确答案:(其实我之前有过总结,但面试就很慌)首先明白什么是什么是库,库的本质就是很多函数的封装集合,只是里面没有main函数那什么是动态库呢?(.so,.dll)动态库的特点是,动态库本身是直接放在机器中的,所以我们变编译的时候直接调用动态库,并不会连动态库一起编译。所以使用动态库编译生成的文件比较小。既然不需要与程序一起编译,生成的程序大小也小这就意味着,动态库

2021-07-18 11:03:29 148 2

原创 有感而发篇--二

今天面试了两家公司,作为一个应届毕业生(在没有实习经历),有几句话想说。首先我只是一个本科毕业普通学生,我的大学四年是这样过来的,大一作为一个新生宝宝加入了学校的校团委,每天忙里忙外,技术方面(一事无成)。大二想去参加校内的技术部门,结果人家不要/(ㄒoㄒ)/~~。大三疫情来了嗯~ o(* ̄▽ ̄*)o,初步体会到编程的美丽。我的技术生涯就从这里开始了。总结自己的学习步骤,我第一本啃...

2021-07-14 15:18:32 159

原创 stm32的第五天

STM32 第五天PWM脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。占空比:占空比是指在一个脉冲循环内,通电时间(可能是高电平,可以低电平)相对于总时间所占的比例。PWM产生框架图PWM产生的流程:通用定时器需要添加的库函数文件:stm32f4xx_tim.c理解电路原理图LED0连接在PF9,低电平灯亮;高电平,...

2021-07-13 10:15:06 782 11

原创 C++学习日记 STL函数对象、谓词、内建函数对象、常见算法集合

一、STL函数对象的概念。1、概念。重载函数调用操作符的类,其对象称为函数对象。函数对象使用重载()时,行为类似函数调用,也叫仿函数。2、本质。函数对象(仿函数)是一个类的对象,不是一个函数。例如:class Person{public: void operator()() { }};Person p; //p就是函数对象p(); //对象使用()时,非常像函数调用 -> 仿函数二、函数对象的使用。1、函数对象在使用时,可...

2021-07-11 15:19:00 114

原创 C++学习日记 容器deque、stack、list、set

一、deque容器。1、功能。deque容器底层实现其实就是一个双端数组,可以对头部进行插入与删除的操作。2、deque容器迭代器?支持随机访问迭代器。#include <iostream>using namespace std;#include <deque>#include <algorithm>void printDeque(deque <int> &d){ for(deque<int>::itera...

2021-07-11 14:37:16 172 1

原创 C++学习日记--STL vector、string容器

一、STL。1、STL诞生。长久以来,软件界一直希望能够建立一种可重复利用的东西。C++的面向对象和泛型编程思想,目的就是复用性的提升。大多数情况下,数据结构和算法都未能有一套标准,导致被迫做大量重复的工作。为了建立数据结构和算法一套标准,诞生了STL。2、STL基本概念。STL(Standard Template Library) -> 标准模板库STL分为:容器(container)、算法(algorithm)、迭代器(iterator)容器与算法之间通过迭代器进行无缝连接。.

2021-07-11 14:10:38 183 1

原创 C++学习日记 --泛型编程(模板)

一、模板的概念?1、什么是泛型编程?写一个程序,这个程序具有通用性,能够在很多广泛的场景下都能使用。这个程序可以理解为就是一个通用的模板。2、什么是模板?泛型编程就是利用模板的技术来进行编程。模板就是建立通用的模具,大大提高复用性。例如:PPT模板、照片模板。3、模板有什么特点?1)模板不可以直接使用,它只是一个框架而已。2)模板的通用并不是万能的。二、函数模板。C++中提供两种模板机制:函数模板和类模板。1、函数模板的作用?建立一个通用的函数,其返回值类型和形参类型可以

2021-07-11 14:08:42 233 1

原创 C++学习日记 - 多态、纯虚函数和抽象类、虚析构和纯虚析构、文件操作

一、多态的基本概念多态是C++面向对象三大特性之一。多态分为两类:静态多态:函数重载和运算符重载动态多态:派生类和虚函数实现运行时多态,静态多态和动态多态有什么区别?静态多态的函数地址是早绑定-------->编译阶段确定函数地址动态多态的函数地址是晚绑定 -------->运行阶段确定函数地址...

2021-07-11 13:39:07 188 1

STL标准模板库接口.docx

STL的详细整理描述

2021-06-03

TCP航空售票系统完整版-使用makefile.zip

初学者学生

2021-05-18

空空如也

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

TA关注的人

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