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

建设沙滩车官方网站网页浏览器入口

建设沙滩车官方网站,网页浏览器入口,什么是淘宝seo,嘉兴网站公司前言 那么这里博主先安利一下一些干货满满的专栏啦#xff01; 手撕数据结构https://blog.csdn.net/yu_cblog/category_11490888.html?spm1001.2014.3001.5482这里包含了博主很多的数据结构学习上的总结#xff0c;每一篇都是超级用心编写的#xff0c;有兴趣的伙伴们都支… 前言 那么这里博主先安利一下一些干货满满的专栏啦 手撕数据结构https://blog.csdn.net/yu_cblog/category_11490888.html?spm1001.2014.3001.5482这里包含了博主很多的数据结构学习上的总结每一篇都是超级用心编写的有兴趣的伙伴们都支持一下吧算法专栏https://blog.csdn.net/yu_cblog/category_11464817.html这里是STL源码剖析专栏这个专栏将会持续更新STL各种容器的模拟实现。 STL源码剖析https://blog.csdn.net/yu_cblog/category_11983210.html?spm1001.2014.3001.5482 什么是System V的共享内存 进程间通信本质让不同进程看到同一份资源 共享内存区是最快的IPC形式。一旦这样的内存映射到共享它的进程的地址空间这些进程间数据传递不再涉及到内核换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据。 当我们用管道进行进程间通信的时候我们知道无论是匿名管道的形式还是命名管道的形式最后都是需要在磁盘上创建部分空间的。 而共享内存的方案只需要在内存的级别上创建共享的空间 至于详细的系统调用接口博主会在代码的注释中进行解释。 今天博主带着大家把框架搭好关于通信的具体实现博主会在下一期进行详细的讲解 代码下载地址  Git地址https://github.com/Yufccode/BitCode/tree/main/Linux/%E4%BB%A3%E7%A0%81/1126_SystemV%E5%85%B1%E4%BA%AB%E5%86%85%E5%AD%98%E6%A1%86%E6%9E%B6%E6%90%AD%E5%BB%BA 部分实现原理 shmServer.cc和shmClient.cc代码  注意仅有这两份代码是不够用的需要下载代码学习的伙伴要在博主上面提供的链接上下载代码。 这里面是一个完整的项目 shmServer.cc #include comm.hpp// 为了让key更好看和命令行输出的对应起来 // 写一个转换成16进制的函数 std::string TransToHex(key_t k) {char buffer[32];snprintf(buffer, sizeof buffer, 0x%x, k);return buffer; }int main() {// 1.创建公共的key值key_t k ftok(PATH_NAME, PROJ_ID);assert(k ! -1);Log(create key done, Debug) server key: TransToHex(k) std::endl;// 2.创建共享内存 -- 建议创建一个全新的共享内存 -- Server是通信的发起者int shmid shmget(k, SHM_SIZE, IPC_CREAT | IPC_EXCL | 0666);if (shmid -1){// 创建失败perror(shmget);exit(1);}Log(create shm done, Debug) shmid: shmid std::endl;//3.将制定的共享内存挂接到自己的地址空间sleep(3);char* shmaddr (char*)shmat(shmid,nullptr,0);Log(attach shm done, Debug) shmid: shmid std::endl;sleep(3);//我们会看到 挂接数会从0变成1// 这里面就是通信的逻辑了 ////...// 这里面就是通信的逻辑了 ////4.解除挂接// 将制定的共享内存从自己的地址空间中去关联int n shmdt(shmaddr);assert(n!-1);(void)n;Log(detach shm done, Debug) shmid: shmid std::endl;sleep(3);// last. 删除共享内存//IPC_RMID表示即便是有进程和当下的shm挂接依旧删除共享内存int n shmctl(shmid, IPC_RMID, nullptr);assert(n ! -1);(void)n;Log(delete shm done, Debug) shmid: shmid std::endl;return 0; }shmClient.cc #include comm.hppint main() {key_t k ftok(PATH_NAME, PROJ_ID);if(k0){Log(create key failed, Error) client key: k std::endl;exit(1);}Log(create key done, Debug) client key: k std::endl;//获取共享内存int shmid shmget(k,SHM_SIZE,IPC_CREAT);if(shmid0){Log(create shm success, Error) client key: k std::endl;exit(2);}Log(create shm failed, Debug) client key: k std::endl;sleep(5);//char* shmaddr (char*)shmat(shmid,nullptr,0);if(shmaddr nullptr){Log(attach shm failed, Error) client key: k std::endl;exit(3);}Log(attach shm success, Debug) client key: k std::endl;sleep(5);//使用//去关联int n shmdt(shmaddr);assert(n!-1);Log(detach shm success, Debug) client key: k std::endl;sleep(5);//client要不要chmctl删除呢不需要return 0; } 尾声 看到这里相信大家对System V通信结构的基本搭建已经有了一定的理解了如果大家觉得这篇文章对你们有帮助的话不要吝啬你们的点赞收藏哦
http://www.w-s-a.com/news/539395/

相关文章:

  • 品牌网站建设搭建国内外网站建设
  • 辽宁人社app一直更新整站seo定制
  • 兰州网站建设论坛装修品牌
  • 云南省城乡住房与建设厅网站用什么网站可以做电子书
  • 自己电脑怎么做网站服务器吗0基础如何做网站
  • 做网站的股哥网络整合营销方案策划
  • 网站你懂我意思正能量晚上唯品会网站开发费用
  • 网站认证金额怎么做分录网页无法访问是怎么回事
  • 樟木头建网站的wordpress自适应吸附菜单
  • 番禺网站设计威海微网站建设
  • 新乡网站建设服务网站建设的点子
  • 赛罕区城乡建设局网站什么是新媒体运营
  • 松原企业网站建设设计素材网排名
  • 网站建设是那个行业广东公司排名
  • 制作网站要多少钱seo是如何优化
  • 求个网站2020急急急做金融网站拘留多久
  • 网站后台管理系统怎么进seo网络推广外包公司
  • 中山市 做网站网站建设如何上传文件
  • 网站呢建设公众号制作要求
  • 网站备案证明在自己电脑上做网站
  • 沈阳旅游团购网站建设怎么制作网站搜索窗口
  • 做化学合成的网站有哪些枣庄住房和城乡建设局网站
  • 天猫优惠券网站怎么做的网络连接
  • 保定网站建设多少钱公司网页网站建设+ppt模板下载
  • 用户上传商品网站用什么做建设跳转公积金网站
  • 买程序的网站上海市网站建设公司
  • 南通网站建设排名公司哪家好wordpress网站图片迁移
  • 河南省汝州文明建设门户网站博客网站建设源码
  • 单位建设网站的请示手机移动端网站案例
  • 国内做网站的企业网站结构有哪些类型