自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(166)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 C语言:高级IO

man手册7章是在将机制。------- EINTR:(error interrupt)是阻塞的系统调用,动作非常的慢,这个过程被信号打断了,但并不是操作失败,故是个假错。----------EAGAIN.(error again) 是非堵塞的调用,表示,尝试去做了,但是现在没有数据,并不是真的出错了(并不是当前系统调用函数的问题)。

2024-08-10 14:30:17 801 2

原创 C语言:进程间通信(史上最强教程)

又内核提供,单工,自同步机制。使用广泛。(管道必须凑齐读写双方才能够运行。

2024-07-17 16:28:00 1386

原创 C语言:高级并发操作(线程 史上最强教程)

线程:进程中的一个实体,是CPU调度和分派的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器、一组寄存器和栈),但它可以与同属一个进程的其他线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行。线程在运行中呈现间断性。(以上来自《计算机四级教程——操作系统原理》)谈到线程,就有必要说说进程的定义:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。

2024-07-11 21:53:47 1537

原创 QML-项目实战二

使用QML实现AURT(串口)的通信。

2025-04-01 21:22:44 313

原创 QT之QML(简单示例)

你需要将这个局部坐标转换为相对于应用程序窗口或屏幕的全局坐标。)左上角的局部坐标。如果你想要在鼠标点击位置显示。

2025-04-01 21:22:05 289

原创 嵌入式学习前要了解的基础知识

单片机是一种集成电路,它集成了处理器核心CPU、内存、输入/输出(I/O)端口、串行通讯接口、定时器、模拟/数字转换器(ADC/DAC)等多种功能。单片机通常用于控制应用,能够执行简单的程序来管理设备的操作。它们可以是通用的,也可以是为特定应用定制的。也叫(Micro Controller Unit )MCU。

2025-03-03 21:32:24 807

原创 QT(5.15)之QGC(4.4)安装教程

下载需求:需要QT版本为5.15,QGC版本为4.4,必须使用MSVC编译器,不能用Mingw编译器。1. 下载QGroundControl源码QGroundControl 的源代码https://github.com/mavlink/qgroundcontrol。当前示例release版本为4.4稳定版推荐使用git下载源码。直接下载zip 文件不包含相应的子模块源代码。git如果下载过程中失败,需要开梯子。。。。①首先,克隆存储源码库,包括子模块:② 然后进入源码。

2025-02-22 20:47:31 1066

原创 C++数据传输Protobuf使用

从官网下载protobuf-3.21.12版本进行使用,这个版本支持最好,其他的特别麻烦。直接用QtCreator打开CMakeLists.txt文件,然后修改配置里的这几个参数,在执行编译即可。编译完成后即可看到这三个文件。

2025-01-23 21:09:59 399

原创 Git克隆 提示证书验证失败解决

解决网址参考:git clone SSL证书问题处理方法 - 小蓝博客

2025-01-23 21:09:38 411

原创 手写SOCKET进行HTTP通信

默认情况下,Flask会将’Connection: close’头部设置为响应中,这意味着每个请求后都会关闭连接。这是因为Flask采用了短连接的方式,即每个请求都使用一个新的TCP连接。这样做的好处是可以更好地控制资源,并在每次请求之间隔离状态。所以我们在发送请求过程中发过去的数据是keep-alive但是接受到的是clsoe,所以每次发数据都需要重新建立连接发送数据,不能够复用之前的请求。暂时没有找到如何设置Flask的Connection为keep-alive。

2025-01-22 19:48:02 685

原创 QT之CMAKE教程

定义工程名称如果指定的路径不存在,那么cmake会自动创建多层级的目录。

2025-01-22 19:47:42 1268

原创 C++并发与多线程(高级函数大全)

在 C++ 中,async关键字用于实现异步编程,它允许你定义异步操作,这些操作可以在后台执行,而不会阻塞当前线程。这是 C++11 引入的特性,与std::async函数和类一起使用。与thread函数模板的区别在于async可以有返回值,thread无返回值。

2024-12-18 22:24:38 330

原创 C++11并发与多线程(条件变量)

5. **`wait_for` 和 `wait_until`**:这两个函数允许你指定一个时间段,在这段时间内等待条件变量。- **使用 `unique_lock` 而不是 `lock_guard`**:在等待时,管理 `mutex` 使用的是 `unique_lock` 而不是 `lock_guard`,因为等待时不持有锁。4. **`notify_one` 和 `notify_all`**:`notify_one` 唤醒一个等待的线程,而 `notify_all` 唤醒所有等待的线程。

2024-12-18 22:24:11 408

原创 C++并发与多线程(锁的使用)

它确保所有提供的互斥锁都被锁定,或者在遇到异常时,已经锁定的互斥锁会被解锁,这通过 RAII(资源获取即初始化)风格保证。在构造时不要尝试去锁定传入的互斥锁(mutex),因为互斥锁已经被当前线程锁定。可以在构造时选择是否锁定互斥量,支持手动锁定和解锁,允许条件变量的等待,以及在等待条件变量时自动解锁和重新锁定。会尝试锁定互斥锁,如果互斥锁已经被其他线程锁定,则不会阻塞调用线程,而是立即返回。之前,互斥锁已经被当前线程锁定。这通常用于避免在已经手动锁定互斥锁的情况下,再次尝试锁定互斥锁,从而提高效率。

2024-12-16 21:42:15 813

原创 C++11并发与多线程(线程传参详解)

问题:C++ 线程detach之后 程序退出后子线程还会执行嘛在linux上和windows上?答案:C++线程detach之后,主程序退出子线程也会退出,不会继续执行。但是注意:如果你是对main线程使用了 (pthread_exit(NULL))C语言的线程退出函数,那么主程序退出后,子线程还是会执行的。如果在子线程调用了pthread_exit会对子线程做退出操作,不会对主线程做退出操作。默认的main函数返回的return 0 其实相当于调用了exit(0)代表程序的正常退出。

2024-12-16 21:42:09 626

原创 在某台电脑上获取CPU核数及线程数

【代码】在某台电脑上获取CPU核数及线程数。

2024-12-14 16:27:20 275

原创 QT之QML从入门到精通(第十章)完结

qmlplugindump工具 使用qmlplugindump 组件名称 版本号 模块父路径 > 重定向的路径。创建项目选择这个,然后choose ,一直下一步就好。本人这个创建项目后,编译提示报错,暂时没有解决。一般需要release版本的插件去使用。提示:只有注册了才有提示信息,不注册是灭有的。pro文件中设置QML_IMPORT_PATH 指定模块的路径,模块的父路径。

2024-12-14 16:26:54 439

原创 QT之QML从入门到精通(第九章)

/加载之前注册函数。在加载qml之前注册// 是一个用于将 C++ 对象或值暴露给 QML 环境的方法。通过这个方法,你可以在 QML 中直接访问和操作 C++ 对象的属性和方法,实现 C++ 与//本人这里没有这个类型//通过模板创建if (!

2024-11-22 21:08:12 306

原创 QT之QML从入门到精通(第八章)

height: 5Rectangle{id:retradius: 10Rectangle{id:bor_retradius: 10// OpacityMask:{ //制作阴影效果,12版本没有,哭了,这qml真难学// }Button{id:btnx:100width: 50。

2024-11-22 21:07:56 474

原创 QT之QML从入门到精通(第七章)

需要在C++类的函数使用Q_INVOKABLE宏,就可以完成直接访问,见下图。

2024-11-15 20:46:25 668

原创 QT之QML从入门到精通(第六章)

【代码】QT之QML从入门到精通(第六章)

2024-11-15 20:46:07 356

原创 QML-项目实战一

使用QML创建一个简单的登录界面,代码内容来源于bilibili中的视频。

2024-11-10 14:19:09 1292

原创 QT之QML从入门到精通(第五章)

y:100delegate: ItemDelegate { //针对model每一个项的具体绘制"red":"blue" //下拉框每一个项为红色// indicator: Canvas { //右侧的下拉箭头绘制,使用画布,也可以之间使用image控件// }// }// }contentItem: Text { //控制当前控件的显示内容"red" : "blue" //不安下是蓝色,按下红色。

2024-11-10 14:18:42 491

原创 Linux:C字符串拷贝中的陷阱(strncpy,snprintf)

使用strncpystrncpy(target,source,n)把source中的n个字符或空字符之前的字符(先满足哪个条件就拷贝到何处)拷贝到target中。因此,如果source中的字符数小于n,则拷贝整个字符串,包括空字符。但是,strncpy()拷贝字符串的长度不会超过n,如果拷贝到第n个字符时还未拷贝完整个源字符串,就不会拷贝空字符。所以,拷贝的副本中不一定有空字符。鉴于此,该程序把n设置为比目标数组大小少1(TARGSIZE-1),然后把数组最后一个元素设置为空字符。//只能存放4个数据。

2024-10-18 09:18:02 500

原创 QT日志库:log4Qt及Qt自带日志库使用

Log4Qt是使用Trolltech Qt Framework的Apache Software Foundation Log4j包的C ++端口。它旨在供开源和商业Qt项目使用。所以 Log4Qt 是Apache Log4J 的Qt移植版,所以看Log4J的资料应该是最直接有效的(因为 Log4Qt的直接资料太少了)。Log4Qt主要是用来记录日志(有助于程序调试)。有3个主要的组件:1、Logger提供日志记录服务,可以有多个Logger存在,每个有它们自己的名字。

2024-10-18 09:17:34 1589

原创 QT之QML从入门到精通(第四章)

许许多多的控件都继承于此控件,比较重要。

2024-09-18 20:12:03 556

原创 QT之QML从入门到精通(第三章)

Button{id:btnwidth: 150"blue":"black" //选中或者按下就走三目运算符Button{id:btnwidth: 150contentItem: Text{ //内容重新绘制import QtQuick.Controls 2.12 //可以引入别的控件Window{width:500height:500Button{id:btnwidth: 150contentItem: Rectangle{ //内容重新绘制Text{id:txt。

2024-09-18 20:11:48 649

原创 QT之QML从入门到精通(第一章)

Window{ //root控件 主界面//自定义一个信号onMySig: { //触发信号所执行的函数,信号名加on,并且第一个字母大写onWidthChanged: { //窗口的宽度改变时会触发这个函数console.log("width change ",width) //打印语句,打印宽度property int myValue: 0 // 创建一个int类型的属性,他也会自动生成信号和槽width: 640x:500;

2024-09-08 14:32:30 8795

原创 QT之QML从入门到精通(第二章)

本章介绍QML部件(component)和加载(Loader)的基本使用。

2024-09-08 14:32:14 771

原创 C项目实战:基于IPV4流媒体广播系统

目前需要实现基于客户机和服务器模型的网络音频广播/点播系统。本音频可以广泛应用在语音教室和公共广播等多种场景。该软件分为客户端和服务器两个部分,服务器运行在PC机上,客户机可以在PC机或者嵌入式设备上,服务以多播的形式向局域网中所有的客户机发送消息,客户机可以根据自己的选择来决定要接受的数据。

2024-08-10 14:29:11 416

原创 C语言:源码,补码,反码

【代码】C语言:源码,补码,反码。

2024-07-17 16:29:06 204

原创 linux:vi命令

vi * -p打开多个文件进行切换。

2024-07-11 21:54:06 258

原创 ulimit设置:生成core文件

注意:/proc/sys/下面的文件为内存镜像文件,不能用vi修改。3. echo './core' > /proc/sys/kernel/core_pattern 修改生成core文件的路径,文件,可以将进程的id作为作为扩展名,文件内容为1表示使用扩展名,默认为0;%E:与%e相同,但文件名被转义,以便在shell中安全使用。%%:输出一个单一的 % 字符。%u:被转储进程的实际用户ID。

2024-07-07 12:43:55 538

原创 C语言:高级并发操作(信号)

同步和异步的使用。异步事件处理的两种方法:查询法、通知法。(单核机器不存在异步)

2024-07-07 12:43:36 1298

原创 C语言:流量控制

可以让发送端根据接收端的实际接受能力控制发送的数据量。它的具体操作是,接收端主机向发送端主机通知自己可以接收数据的大小,于是发送端会发送不会超过该大小的数据,该限制大小即为窗口大小,即窗口大小由接收端主机决定。如播放视频,音频文件时,需要对发送的数据进行流控。

2024-06-26 20:27:58 687 1

原创 C实现linux下自己的shell

strsep是 C 标准库字符串实用程序的一部分,定义在<string.h>头文件中。它可以用来从字符串对象中提取被给定定界符包围的标记。strsep需要两个参数-指向char*的指针和指向char的指针。第一个参数用于传递需要搜索的字符字符串的地址。第二个参数指定了一组定界符,用来标记提取的标记的开始和结束。请注意,在提取的标记字符串中,定界符会被丢弃。当找到第一个标记时,第一个参数被修改为存储指向下一个定界符的指针。

2024-06-26 20:27:27 285

原创 C语言:进程

类型pid_t,16位整型数三万多个。2的16次方65535.进程标识是顺次向下使用。与文件描述符不一样。

2024-06-16 17:54:46 1080

原创 C语言:文件系统

在当前目录下使用touch 创建一个名为 -a的文件:touch -a;// 错误,touch -- -a//正确touch ./-a 正确ls -n可以看到对象的用户id,可以在/etc/passwd中查看,/etc/group可以看到组号。

2024-06-16 17:54:33 1376

原创 C项目实战:俄罗斯方块

终端 (控制) 代码是用来控制终端的特殊命令,它可以改变颜色和光标的位置,实现那些无法被程序本身完成的操作。

2024-05-30 22:44:34 316

原创 C语言:IO操作

I/O操作是一切实现的基础。IO即为input &output。

2024-05-30 22:44:09 1645

pyqt写的一个基于当地经济分析的毕业设计项目

基于当地经济分析项目: 实现了登录界面的基本功能,包括:记住密码,自动登录,注册账号,找回密码。 主界面实现了三个功能:数据获取,数据显示,返回登录界面。 数据获取:利用了Python爬虫技术,从网站中爬取数据,数据文件保存在当前目录下的各省份GDP.csv文件。 数据显示,从csv中读取数据,依靠pyqtgraph技术,将数据进行可视化展示。 返回登录界面:跳转到登录界面,实现了记住密码,自动登录功能。

2023-02-12

C++代码演讲比赛流程管理系统

C++代码演讲比赛流程管理系统

2023-01-27

基于PyQt开发的网络测试工具,可直接运行

基于Pyqt5.15.6版本开发的TCP/UDP网络测试工具,并用pyinstaller打包为单个exe可执行程序,适用于win10操作系统。

2023-01-06

C++编译通讯录管理系统,采用了二进制文件读写的方法,可以直接运行

C++编译通讯录管理系统,采用了二进制文件读写的方法,可以直接运行

2023-01-03

C++写的职工管理系统,可直接允行,附带了文件操作

C++写的职工管理系统,可直接允行,附带了文件操作

2023-01-01

测试文件 通讯录管理系统 MinGw 64编译的可执行程序

测试文件 通讯录管理系统

2022-12-16

思科PacketTracer7.2.1forWindows-64bit安装包

思科模拟安装包,用来模拟电脑的发射数据请求

2022-11-18

MarkDown打开文件下载

免费的MarkDown软件,可以直接对代码进行做笔记修改。

2022-09-28

没有编译的Qwt文件包

将文件包下载在本地,使用QT打开文件中的qwt.pro文件,执行运行文件,即可完成编译,在编译完成的项目中D:\C++\QT\build-qwt-Desktop_Qt_6_3_1_MinGW_64_bit-Debug\designer\plugins\designer的文件夹下找到qwt_designer_plugin.dll文件即可直接使用。注意:此处编译时间为5-10分钟,请不要中断编译。

2022-08-31

Qt中的Qwt绘图工具编译后的文件(下载可直接使用)

将下载后的文件放在`D:\C++\QT\6.3.1\mingw_64\plugins\designer`自己安装的QT安装目录下,点击QTdesigner刷新即可看到插件已经显示出来。

2022-08-31

Qwebchannel.js资源文件下载

适用于QT界面的浏览器控件,QWebEngineView控件进行交互数据的js文件,免费使用。

2022-08-22

geopandas安装包资料

安装python包geopandas使用,包含Cartopy-0.20.2-cp38-cp38-win_amd64.whl,Fiona-1.8.21-cp38-cp38-win_amd64.whl,GDAL-3.4.2-cp38-cp38-win_amd64.whlpyproj-3.3.0-cp38-cp38-win_amd64.whl等7个安装包

2022-03-30

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

TA关注的人

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