自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言:高级IO

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

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

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

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

2024-07-17 16:28:00 1480 1

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

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

2024-07-11 21:53:47 1582

原创 QT之openGL使用(二)

可以使用QT中的QOpenGLShaserProgram。用这个资源文件来进行分开加载。

2025-07-17 20:45:52 444

原创 QT之openGL使用(一)

OpenGL(Open Graphics Library)是一种跨语言、跨平台的图形编程接口,主要用于渲染二维和三维矢量图形。它由一个庞大的函数库组成(只有头文件声明,由各家厂家自己实现内容),允许开发者通过编程方式与图形硬件进行交互,从而实现高效、复杂的图形渲染。以下是OpenGL的一些关键特点和用途:1.OpenGL可以在多种操作系统上运行,如Windows、macOS、Linux、Android和iOS等。它支持多种编程语言,包括C、C++、Python、Java等。2.

2025-07-17 20:45:39 889

原创 openGL学习(EBO)

EBO(Element Buffer Object,也称为 Index Buffer Object)是 OpenGL 中用于的缓冲区对象。它允许开发者指定顶点的绘制顺序,从而可以更有效地使用顶点数据,减少数据量并提高渲染效率。在绘制多边形时,。(数据点的复用)创建EBO的方式与创建VBO类似,都是使用glGenBuffers。创建完成EBO之后,需要向EBO中传入索引数据,在传入之前需要绑定将EBO(将eboID设置为当前操作的EBO)。

2025-07-14 21:02:20 204

原创 openGL学习(Shader)

开发者可以自定义渲染管线的各个阶段,实现复杂的图形效果。

2025-07-14 21:01:02 433

原创 C语言socket编程-补充

/将一个主机字节序的 IP 地址转换为网络字节序,功能类似于 inet_pton。inet_pton 是inet_addr的扩展,支持AF_INET和AF_INET6,inet_pton()对于传入的参数只支持"a,b,c,d"格式,同时不支持8进制及16进制输入。//将一个16位数从主机字节顺序转换成网络字节顺序。

2025-07-05 13:10:20 243

原创 Qt5编译QXlsx库

1.需要安装Perl2.下载QXlsx源码并编译感觉最后一个链接比较全,可以参考另一种使用方式。

2025-07-05 13:09:07 421

原创 openGL学习(VAO和VBO)

在 OpenGL 中,VAO(Vertex Array Object,顶点数组对象)是一种特殊的对象,它用于封装和存储顶点数组的状态。1. **提高性能**:通过减少状态切换的开销,VAO 可以提高渲染性能。3. **避免错误**:手动配置顶点属性指针容易出错,而 VAO 可以帮助避免这些错误,因为它可以存储和恢复顶点数组的完整状态。2. **简化代码**:VAO 允许开发者将顶点数组的配置(如顶点属性指针)与渲染代码分离,使得渲染代码更加简洁和易于管理。// 生成 VAO 和 VBO。

2025-06-27 21:10:05 933

原创 openGL学习(基本窗口)

学习 OpenGL 需要掌握一系列基础知识和技能,这些内容涵盖了计算机图形学的基本概念、编程语言、数学知识以及 OpenGL 的具体 API 使用。以下是学习 OpenGL 所需的主要知识点:1.:了解图形学的基本概念,如像素、分辨率、颜色模型(RGB、RGBA)、光栅化、光栅图形等。:理解图形渲染管线的工作原理,包括顶点处理、光栅化、片段处理等阶段。:熟悉常见的图形对象,如点、线、多边形、纹理、光照等。2.:向量的基本运算(加法、减法、点积、叉积)。:矩阵的基本运算(乘法、逆矩阵、转置)。

2025-06-27 21:09:47 742

原创 Mysql数据库操作大全万字详解

数据定义语言。

2025-06-25 22:16:13 1036

原创 C/C++中调用Java实现

某些遗留系统或库可能用 Java 编写,而你的 C/C++ 应用程序需要与这些系统或库集成。Java 以其“一次编写,到处运行”(Write Once, Run Anywhere)的能力而闻名。如果你需要一个跨多个操作系统的解决方案,而你的团队更熟悉 Java,可能会选择用 Java 编写核心逻辑。Java 拥有庞大的生态系统和社区支持。如果项目依赖于特定的 Java 库或框架,可能需要在 C/C+ 应用程序中调用 Java 代码。

2025-06-25 22:15:28 1101

原创 C++调用Python教程

python是一种非常强大的胶水语言,可以灵活的嵌入到c++和java等主流语言中。python提供了一套C的API库,使得开发者能够很方便的从C、C++的程序中调用python中的各个功能模块。c++ 调用 python ,本质上是在 c++ 中启动了一个 python 解释器,由解释器对 python 相关的代码进行执行,执行完毕后释放资源,达到调用目的。说白了,即写一个C文件,执行【Python解释器初始化、导入模块,导入函数,构造输入参数,调用函数,解析返回值,终止Python解释器】。

2025-06-22 16:34:09 279

原创 VTK链接程序问题记录

编译的话可以参考其他文章。编译的时候要注意:必须使用MSVC编译器。并在选择QT版本的时候,也要进行修改为MSVC64的编译器。。。这边一般情况下默认都是WinGw的,需要手动修改。

2025-06-22 16:33:51 163

原创 C++设计模式

这些模式是面向对象设计的经典解决方案,实际开发中常组合使用(如工厂+策略、观察者+状态)。:责任链、命令、解释器、迭代器、中介者、备忘录、观察者、状态、策略、模板方法、访问者。- 定义一对多的依赖关系,状态变更时自动通知(如事件监听)。- 提供遍历集合的统一方式(如C++ STL中的迭代器)。- 封装算法族,使其可互换(如排序算法、支付方式选择)。- 在不修改类的前提下为类添加新操作(如AST树遍历)。共享细粒度对象以减少内存占用(如游戏中的重复贴图)。控制对对象的访问(如远程代理、缓存代理、安全代理)。

2025-06-20 22:27:58 626

原创 vtk和opencv和opengl直接的区别是什么?

是三个在计算机图形学、图像处理和可视化领域广泛使用的工具库,但它们在功能、应用场景和底层技术上存在显著差异。(Windows/Linux/macOS)和跨语言支持(C/C++/Python)。(相比直接使用 OpenGL),因为 VTK 封装了 OpenGL 的底层调用4。,优化了 CPU/GPU 计算(如 DNN 模块支持 CUDA 加速)。(如图像分割、目标检测),需自行实现或结合 OpenCV/VTK。,需要手动管理着色器(Shader)、缓冲区(Buffer)等。功能(如体绘制、等值面提取)。

2025-06-20 22:27:31 514

原创 QML问题记录

QML 提供了多种类型的弹窗,包括基本的Popup、消息弹窗、文件选择弹窗FileDialog以及自定义弹窗。每种弹窗都有其特定的用途和配置选项,可以根据实际需求选择合适的类型。希望这些信息能帮助你更好地实现弹窗功能。

2025-06-10 17:29:46 942

原创 Python数据清洗使用

duplicated()可以被用在DataFrame的三种情况下,分别是pandas.DataFrame.duplicated、pandas.Series.duplicated和pandas.Index.duplicated。他们的用法都类似,前两个会返回一个布尔值的Series,最后一个会返回一个布尔值的numpy.ndarray。我们不再删除 NaN 值,而是将它们替换为合适的值。是Pandas中一个非常实用的方法,用于从DataFrame或Series中删除。行或值,只保留第一次出现的记录。

2025-04-17 19:03:02 409

原创 QT日历控件重写美化

先放一个效果图以供大家参考,大家可以根据自己需要的效果来调整自己的控件,日历控件实现了自定义日历选择框,设置了表头颜色,设置日历当天重要事件提醒功能。

2025-04-17 19:02:46 512

原创 QML-项目实战二

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

2025-04-01 21:22:44 412

原创 QT之QML(简单示例)

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

2025-04-01 21:22:05 423

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

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

2025-03-03 21:32:24 905

原创 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 2085

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

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

2025-01-23 21:09:59 441

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

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

2025-01-23 21:09:38 455

原创 手写SOCKET进行HTTP通信

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

2025-01-22 19:48:02 715

原创 CMAKE教程大全

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

2025-01-22 19:47:42 1387

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

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

2024-12-18 22:24:38 360

原创 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 430

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

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

2024-12-16 21:42:15 852

原创 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 667

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

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

2024-12-14 16:27:20 312

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

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

2024-12-14 16:26:54 510

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

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

2024-11-22 21:08:12 522

原创 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 576

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

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

2024-11-15 20:46:25 754

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

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

2024-11-15 20:46:07 432

原创 QML-项目实战一

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

2024-11-10 14:19:09 1721

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

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

2024-11-10 14:18:42 714

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

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

MarkDown打开文件下载

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

2022-09-28

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

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

2022-08-31

没有编译的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

Qwebchannel.js资源文件下载

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

2022-08-22

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

TA关注的人

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