自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 互斥锁、条件变量、原子变量

通过结合具体应用场景和平台特性,合理选择并发原语,并使用最佳实践,可以在多线程和高并发环境中获得更好的性能和正确性。各类锁和原子操作的使用,各有优劣,需权衡可维护性与效率,并通过性能测试进行验证。使用条件变量时,修改共享数据和调用通知均需在持有互斥锁时进行,等待线程则在阻塞时自动释放锁,恢复时重新获取锁。:内部需要维护计数器,性能开销略高于普通互斥锁,同时滥用递归锁掩盖设计缺陷也是风险。任何一个线程对原子对象的写操作,与另一个线程的读操作之间,不会产生数据竞争,行为被定义良好。功能相似,只是语法不同。

2025-05-13 14:38:53 1036

原创 Qt 信号与槽机制概述与语法

Qt 的信号与槽是一种松耦合的对象间通信机制。当一个对象状态发生变化时,它可以发射(emit)一个信号;任何其他对象只要将这个信号连接(connect)到它的槽函数,就可以在信号发出时自动调用该槽函数。信号槽机制通过 Qt 的元对象系统(Meta-Object System)实现,支持任意数量和类型的参数,并且是类型安全的:当使用函数指针语法连接时,编译器会检查信号和槽参数类型是否兼容;如果使用字符串宏SIGNAL()SLOT()语法,则在运行时检查。(字符串宏语法)和(函数指针语法)。旧语法依赖moc。

2025-05-07 14:24:59 1037

原创 Qt委托事件--QItemDelegate 和 QStyledItemDelegate

创建编辑器控件(例如 QLineEdit、QSpinBox、QComboBox 等),用于编辑数据。将模型中数据设置到编辑器中。将编辑器中的数据更新回模型。设置编辑器在视图中的显示位置和大小。如果希望用 QLineEdit 进行文本编辑,并对输入做长度限制,也可以编写一个自定义委托。下面示例中,我们在创建编辑器时为 QLineEdit 设置最大输入长度。Q_OBJECTpublic:// setEditorData 和 setModelData 可以保持默认行为。

2025-03-06 18:47:28 421

原创 正则表达式 Qt

中国身份证号码通常有 15 位或 18 位,18 位身份证号码的最后一位可能为数字或字母 X/x。通过组合各种字符,可以匹配特定的字符串模式。中国的手机号一般以 1 开头,第二位为 3-9,后面跟随 9 个数字,共 11 位。表示匹配前面的表达式至少 n 次,至多 m 次。​ 匹配实际的点号,“\d” 表示匹配任意数字。定义一个字符集合,匹配集合内的任一单个字符。​ 匹配 "cat" 或 "dog"。表示匹配前面的表达式零次或多次。表示匹配前面的表达式一次或多次。表示匹配前面的表达式零次或一次。

2025-03-06 17:15:41 706

原创 Windows下编译OpenSSL

我的环境: Win11 64位CPU:Intelopenssl-3.4.0nasm-2.16.03-installer-x86strawberry-perl-5.40.0.1-64bitVisual Studio 2019一、下载OpenSSL源码OpenSSL官方源码下载地址:https://www.openssl.org/source/​二、下载Perl编译OpenSSL需要用到Perl语言,需要安装支持Perl的环境。Windows下比较多用的是activeperl,比较小,但是缺少模

2025-02-05 17:07:38 987 2

原创 C++ zlib库 源码编译及使用(VS2019)

​使用 cmake界面版生成VS2019解决方案​打开生成的解决方案.sln​注意:如果没有需要的平台配置(前面cmake点击Configure按钮时没选择x86平台,建议重新cmake生成,这样可能会出问题)​​生成动态库,注意选择需要的版本(debug/release)和平台(x64/x86),右键直接生成(也可以按需要选择特定的库生成,我这里是全部生成)​生成静态库,注意选择需要的版本(debug/release)和平台(x64/x86)​。

2025-02-05 16:59:12 275

原创 Win11下编译libssh2 并支持openssl和zlib

编译libssh2需要用到以下软件,请自己准备并安装好。编译libssh2需要用到以下库文件,如果不会的可以参考我其他的文章​​。

2025-02-05 16:41:13 559

原创 libcurl 支持sftp scp等 windows vs2019编译

原来的libcurl,不支持sftp等协议,所以要重编译libcurl,要支持sftp,需要WITH_SSH2,所以需要安装openssl和libssh2(如果没有,可以参考我的其他文章)编译libcurl需要用到以下库文件,如果不会的可以参考我其他的文章。

2025-02-05 16:28:13 547 2

空空如也

空空如也

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

TA关注的人

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