当前位置: 首页 > news >正文

济阳做网站多少钱最爱网

济阳做网站多少钱,最爱网,基本的网站开发技术路线,360永久免费建网站QSharedMemory 是 Qt 提供的一个类#xff0c;用于在多个进程之间共享内存。它可以让您在不同的进程间传递数据#xff0c;而无需通过文件或网络来进行传输。下面是 QSharedMemory 的详细用法和相关知识点。 一、基本概念 共享内存#xff1a;共享内存是一块可以被多个进程…QSharedMemory 是 Qt 提供的一个类用于在多个进程之间共享内存。它可以让您在不同的进程间传递数据而无需通过文件或网络来进行传输。下面是 QSharedMemory 的详细用法和相关知识点。 一、基本概念 共享内存共享内存是一块可以被多个进程同时访问的内存区域。通过共享内存不同进程可以直接读写同一块数据从而实现高效的数据传递。关键字每块共享内存都有一个唯一的关键字用于标识这块内存。 二、常用方法 构造函数 QSharedMemory(const QString key, QObject *parent nullptr);创建一个 QSharedMemory 对象并指定共享内存的关键字 key。 创建共享内存 bool create(int size, QSharedMemory::AccessMode mode QSharedMemory::ReadWrite);创建指定大小的共享内存。size 表示内存大小mode 表示访问模式默认是读写模式。 附加到现有共享内存 bool attach(QSharedMemory::AccessMode mode QSharedMemory::ReadWrite);附加到现有的共享内存段。mode 表示访问模式。 分离共享内存 bool detach();分离共享内存段使得当前进程不再访问这块共享内存。 写入数据 void *data();获取共享内存的指针通过这个指针可以直接操作共享内存。 检查是否已附加 bool isAttached() const;检查当前对象是否已附加到共享内存段。 获取错误信息 QString errorString() const;获取最近一次操作的错误信息。 三、示例代码 下面是一个简单的示例演示如何使用 QSharedMemory 在两个进程之间共享数据。 3.1 进程 A创建和写入共享内存 #include QCoreApplication #include QSharedMemory #include QBuffer #include QDataStream #include QDebugint main(int argc, char *argv[]) {QCoreApplication a(argc, argv);QSharedMemory sharedMemory(SharedMemoryExample);if (!sharedMemory.create(1024)) {qDebug() Unable to create shared memory: sharedMemory.errorString();return -1;}// 写入数据到共享内存QByteArray data;QBuffer buffer(data);buffer.open(QBuffer::WriteOnly);QDataStream out(buffer);out QString(Hello from process A);buffer.close();sharedMemory.lock();char *to (char*)sharedMemory.data();const char *from data.data();memcpy(to, from, qMin(sharedMemory.size(), data.size()));sharedMemory.unlock();qDebug() Process A wrote data to shared memory.;return a.exec(); }3.2 进程 B读取共享内存 #include QCoreApplication #include QSharedMemory #include QBuffer #include QDataStream #include QDebugint main(int argc, char *argv[]) {QCoreApplication a(argc, argv);QSharedMemory sharedMemory(SharedMemoryExample);if (!sharedMemory.attach()) {qDebug() Unable to attach to shared memory: sharedMemory.errorString();return -1;}sharedMemory.lock();QBuffer buffer;QDataStream in(buffer);QByteArray data((char*)sharedMemory.constData(), sharedMemory.size());buffer.setData(data);buffer.open(QBuffer::ReadOnly);QString message;in message;sharedMemory.unlock();qDebug() Process B read data from shared memory: message;return a.exec(); }四、注意事项 同步因为多个进程可以同时访问共享内存所以需要对共享内存进行同步控制。在上面的示例中使用了 lock() 和 unlock() 方法来实现简单的同步。大小限制共享内存的大小是有限制的具体大小取决于操作系统。创建共享内存时需要合理估计大小。错误处理在使用 QSharedMemory 时随时检查返回值并处理可能的错误可以通过 errorString() 获取详细的错误信息。 总结 QSharedMemory 是一个高效的进程间通信方式通过共享内存多个进程可以共享数据提高通信效率。在使用时需要注意同步问题和错误处理。通过上述示例您可以快速掌握 QSharedMemory 的基本用法并在实际开发中灵活应用。 其他QT文章 1. QT开发环境安装以配置。 2. QT线段画板实战 3. 半小时玩转QT桌面系统托盘(含托盘消息) 4. QT入门开发一个时钟 5. 半小时教你做大转盘游戏QT篇 6. 手把手教你制作【带吸附效果的线段绘制】QT 7. 手把手教你开发-滚动效果号码抽奖QT 8. 100行代码实现贪吃蛇小游戏 9.C实现《扫雷》游戏入门经典 10. svg转图片工具开发 11. Qt网路与通信(获取本机网络信息 12. Qt网路与通信(UDP客户与服务 13. Qt网络与通信TCP聊天室 14. Qt多线程以及线程池 15. Qt散点图、折线图、柱状图、盒须图、饼状图、雷达图开发实例 16. 取色器QT 17. MQTT客户端入门开发 18.QT文件上传带进度条实例含源码 19. Qt音乐播放器开发实例可毕设含源码
http://www.sczhlp.com/news/162978/

相关文章:

  • 会展网站建设阿里云邮箱企业版登录
  • 自己建设网站平台步骤开源商城app源码
  • 公司网站首页设计模板佛山网络公司 乐云seo
  • 观山湖网站建设dw网站指向邮箱超链接怎么做
  • 简单的个人主页网站制作网络营销策划的定义
  • 公司创建网站多少钱服装商城的网站建设
  • 电子政务网站建设方案品牌营销策划是什么意思
  • 如何查询网站二级页面流量html做企业门户网站
  • 江苏省 建设 注册中心网站首页营销型网站建设合同模板
  • 厦门市建设执业资格注册管理中心网站青岛网页制作设计营销
  • 企业级建站郑州发布
  • 网站的原型图网络营销服务公司
  • 建设在线购物网站ftp 修改网站
  • 网站建设表格的属性建设网站多少钱 郑州
  • 东昌府企业做网站推广网站域名后缀代表什么意思
  • 顺德网站建设公司信息python怎么学
  • 电子商务网站建设大作业无锡电子商城网站设计
  • 网站建设是什么部门宝宝个人网站模板
  • 民宿网站建设怎么自己做购物网站
  • 网站开发选择题网站的基础知识
  • linux jenkins服务启动异常等,排查是否日志磁盘空间满 du df命令
  • 详细介绍:LeetCode 391 完美矩形
  • [NOI2025] 集合 题解
  • 重庆网站建设平台网站建设中怎么解决
  • 怎么建立一个网站卖东西滴滴友链
  • 佛山免费自助建站模板职业生涯规划大赛心得体会
  • 网页链接成整体通过网站seo分析工具
  • 做购物网站最开始没人怎么办电话营销系统
  • 黑蒜东莞网站建设外贸网站制作推广
  • 广州企业网站设计公司营销网点机构号是什么意思