自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Qt中使用QuaZip库处理ZIP文件

本文介绍了QuaZIP库的环境配置与基本使用。环境配置需从SourceForge下载QuaZIP,并在.pro文件中添加相关库路径和包含路径。提供了两个核心功能示例:1)基本压缩解压功能,使用JlCompress类实现文件夹压缩(compressDir)和解压(extractDir);2)带密码的压缩功能,通过QuaZip和QuaZipFile类实现,支持设置密码保护。代码示例展示了如何创建受密码保护的ZIP文件,包括文件打开、写入和关闭操作。这些示例可以帮助开发者快速实现Qt环境下的ZIP文件处理功能。

2025-09-28 10:12:41 226

原创 Ubuntu sudo 免密码设置

摘要:配置sudo免密登录需编辑/etc/sudoers文件,建议使用"sudo visudo"命令自动检查格式和权限。在文件末尾添加"username ALL=(ALL) NOPASSWD:ALL"(替换username为实际用户名),NOPASSWD表示免密,ALL允许所有命令。保存后即可实现sudo免密操作。

2025-09-26 15:18:09 164

原创 Qt_C++和西门子PLC通信

3.DKS7Client主要代码。1.下载Snap7开源库。

2025-09-26 15:05:00 682

原创 Ubuntu上的 Everything 搜索工具

的E工具启发,能够通过文件名快速定位文件和文件夹。由于采用 C 语言编写,FSearch 的搜索速度极快,因此深受不少 Linux 用户的喜爱。FSearch 是一款基于 GTK+3 的开源高性能搜索工具,专为 Linux 和类 Unix 操作系统设计。它深受 Windows 上著名。在Ubuntu下安装FSearch方法如下。3.安装 fsearch。

2025-09-25 13:13:21 525

原创 在Ubuntu上安装 Node.js v18

本文介绍了在Linux系统上安装Node.js 18.x的简单步骤:首先使用curl命令下载官方安装脚本并执行,然后通过apt-get安装Node.js 18,最后用node -v命令验证安装版本。整个过程简洁高效,适合快速部署Node.js开发环境。

2025-09-25 11:47:01 217

原创 在Ubuntu20上安装最新CMake或指定版本

本文介绍了在Linux系统下安装CMake的详细步骤:首先从官网下载CMake安装脚本文件,然后使用sudo权限运行安装命令并跳过许可协议,指定安装路径为/usr目录。在安装过程中需要手动确认许可协议和安装路径选择。最后通过cmake --version命令验证安装是否成功及查看当前CMake版本号。整个过程涵盖了从下载到安装验证的完整流程。

2025-09-25 11:38:35 422

原创 Qt封装C++11 随机数

【代码】Qt封装C++11 随机数。

2022-09-21 21:06:53 463

原创 linux下的so、o、lo、a、la文件的区别

libtool主要的一个作用是在编译大型软件的过程中解决了库的依赖问题;将繁重的库依赖关系的维护工作承担下来,从而释放了程序员的人力资源。libtool提供统一的接口,隐藏了不同平台间库的名称的差异等细节,生成一个抽象的后缀名为la高层库libxx.la(其实是个文本文件),并将该库对其它库的依赖关系,都写在该la的文件中。lo: 使用libtool编译出的目标文件,其实就是在o文件中添加了一些信息。a: 静态库,其实就是把若干o文件打了个包。so: 动态链接库(共享库)o: 编译的目标文件。

2022-09-14 10:35:33 798

原创 在windows10上利用WSL安装Ubuntu(带桌面UI)

2.输入wsl --install (需要管理员权限),等待安装完成。3.点击开始菜单,选则安装好的ubuntu界面。1.打开powershell,右击开始菜单。6.使用windows远程桌面连接。5.给WSL安装桌面。

2022-09-13 17:15:37 6882

原创 查看ubuntu版本

proc目录下记录的当前系统运行的各种数据,version记录的版本信息可以直接通过cat查看到,还可以看到我的gcc版本呢。显示linux的内核版本和系统是多少位的:X86_64代表系统是64位的。

2022-09-12 17:33:15 1344

原创 基于C++11 随机数的封装类Random

【代码】基于C++11 随机数的封装类Random。

2022-09-12 08:58:32 444

原创 cmake 同时生成动态库和静态库

cmake在构建一个新的target时,会尝试清理掉其他使用这个名字的库, 因此,在构建libhello.a时,就会清理掉libhello.so,为了回避这个问题,设置CLEAN_DIRECT_OUTPUT属性为1,就不会清理了。

2022-09-12 07:16:18 789

原创 指定 make install 的安装目录的方法

【代码】指定 make install 的安装目录的方法。

2022-09-12 06:54:24 4109

原创 gcc 工作流程中的4个阶段(预处理、编译和优化、汇编和链接)

GCC 编译器对程序的编译下图所示,分为 4 个阶段:预处理(预编译)、编译和优化、汇编和链接。链接:这个阶段需要 GCC 调用链接器对程序需要调用的库进行链接,最终得到一个可执行的二进制文件。第四步:将得到的二进制文件和标准库进制链接,得到可执行的二进制文件,不需要任何参数。汇编:这个阶段需要 GCC 调用汇编器对文件进行汇编,最终得到一个二进制文件。编译:这个阶段需要 GCC 调用编译器对文件进行编译,最终得到一个汇编文件。第三步:对得到的汇编文件进行汇编,需要使用的 gcc 参数为 -c。

2022-09-11 07:24:07 1774

原创 gcc与g++的区别

c.g++ 会调用 gcc,对于 C++ 代码,两者是等价的,也就是说 gcc 和 g++ 都可以编译 C/C++ 代码。b.g++ 可以自动链接到标准 C++ 库,gcc 如果要链接到标准 C++ 库需要加参数 -lstdc++:g++ 可以直接编译 C++ 程序, gcc 编译 C++ 程序需要添加额外参数 -lstdc++a.后缀为 .c 的,gcc 把它当作是 C 程序,而 g++ 当作是 C++ 程序。:不管是 gcc 还是 g++ 都可以编译 C 程序,编译程序的规则和参数都相同。

2022-09-11 06:58:18 1304

原创 Qt Sqlite 半自动化持久层类(支持多线程)

faultinfo.h:必须实现拷贝构造方法和赋值运算符,编写Q_PROPERTY,名字位对于的数据库字段名称。如Q_PROPERTY(int fault_code READ getFaultCode WRITE setFaultCode)上述代码从表fault_info中查出所有满足条件的List,很方便,不用自己去解析了!

2022-09-10 07:03:51 507

原创 Qt中的各种编译器

4.qmake : 把pro文件编译成makefile文件,然后可以调用make命令。moc:元对象编译器。

2022-09-09 22:10:32 2562

转载 QT中.pro文件的语法

在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的。

2022-09-09 21:59:50 1296

原创 Qt事件耦合器实现(类似C#的Prism中的事件耦合器)

该耦合器提供了一种事件机制,可以实现应用程序中松散耦合组件之间的通信。这种机制基于事件聚合器服务,允许发布者和订阅者通过事件进行通信,并且彼此之间仍然没有直接引用。简单来说就是提供了一个多播发布/订阅功能。Qt中自带的信号/槽也是一种解耦机制,但是当项目做大后要写好多connect来链接关系,有了事件耦合器后就不需要connect了。这样,一个发布/订阅的事件就完成了,也可以在任何时候取消事件注册,只需要调用Unsubscribe方法即可。看上图了解事件耦合器。

2022-09-09 07:07:29 492

Qt-C++-西门子PLC-S7Net通信Demo

使用Qt c++编写的PLC_S7Net通信Demo,使用了第三方开源库snap7

2025-09-26

西门子PLC开源库Snap7库

Snap7库,一个用于与西门子S7系列PLC通过以太网通信的开源库,支持S7-200至S7-1500型号。适用于32/64位Intel/AMD平台,如Windows、Linux、BSD、Solaris、OSX。支持多种编程语言,如Pascal、C#、C++、C、LabVIEW、Python、Node.js、Java。

2025-09-26

ethercat master Igh1.52 官方中文文档

EtherCatLab igh1.52 中文文档,官方文档原文翻译

2024-09-29

Qt事件耦合器示例程序

该Qt耦合器提供了一种事件机制(类似C# prism中的事件耦合器),可以实现应用程序中松散耦合组件之间的通信。这种机制基于事件聚合器服务,允许发布者和订阅者通过事件进行通信,并且彼此之间仍然没有直接引用。简单来说就是提供了一个多播发布/订阅功能。

2022-09-09

空空如也

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

TA关注的人

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