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

国庆day1

消息队列

代码

发送

#include<myhead.h>
//声明一个消息结构体
typedef struct
{long msgtype; 		//消息类型char data[1024]; 	//消息正文
}Msg_s;
#define SIZE sizeof(Msg_s)-sizeof(long) //消息正文的大小
int main(int argc, const char *argv[])
{key_t key; //定义一个键值if((key == ftok("./",'m')) == -1) //创建键值并判断键值是否创建成功{ERR_MSG("ftok");return -1;}int msgid; 	//接受消息队列if((msgid = msgget(key,IPC_CREAT|0664)) == -1)  //创建消息队列并判断是否创建成功{ERR_MSG("msgget");return -1;}Msg_s msg = {.msgtype = 100}; //定义消息队列结构体并确定消息类型//向消息队列中发送数据 while(1){//从终端获取数据printf("请输入消息内容:");fgets(msg.data,sizeof(msg.data),stdin);//将数据中的换行改成'\0'msg.data[strlen(msg.data)-1] = 0;//发送消息并判断是否发送成功if(msgsnd(msgid,&msg,SIZE,0) == -1){ERR_MSG("msgsnd");return -1;}//比较数据,看是否要退出if(strcmp(msg.data,"quit") == 0){break;}}return 0;
}

接受

#include<myhead.h>
//创建一个消息结构体
typedef struct
{long msgtype; 		//消息类型char data[1024]; 	//消息正文
}Msg_s;
#define SIZE sizeof(Msg_s)-sizeof(long) //消息正文的大小
int main(int argc, const char *argv[])
{key_t key; //定义一个键值if((key == ftok("./",'m')) == -1) //创建键值并判断键值是否创建成功{ERR_MSG("ftok");return -1;}int msgid; 	//接受消息队列if((msgid = msgget(key,IPC_CREAT|0664)) == -1)  //创建消息队列并判断是否创建成功{ERR_MSG("msgget");return -1;}Msg_s msg; //定义消息结构体//从消息队列中读取数据while(1){//发送消息并判断是否发送成功if(msgrcv(msgid,&msg,SIZE,0,0) == -1){ERR_MSG("msgrcv");return -1;}//比较数据,看是否要退出if(strcmp(msg.data,"quit") == 0){break;}//打印数据printf("rcv:%s\n",msg.data);}//删除消息队列msgctl(msgid,IPC_RMID,NULL);return 0;
}

运行结果

相关文章:

国庆day1

消息队列 代码 发送 #include<myhead.h> //声明一个消息结构体 typedef struct {long msgtype; //消息类型char data[1024]; //消息正文 }Msg_s; #define SIZE sizeof(Msg_s)-sizeof(long) //消息正文的大小 int main(int argc, const char *argv[]) {key_t key; /…...

从零开始之了解电机及其控制(11)实现空间矢量调制

广泛地说&#xff0c;空间矢量调制只是将电压矢量以及磁场矢量在空间中调制到任意角度&#xff0c;通常同时最大限度地利用整个电压范围。 其他空间矢量调制模式确实存在&#xff0c;并且根据您最关心的内容&#xff0c;它们可能值得研究。 如何实际执行这种所谓的交替反向序列…...

如何将html转换成markdown

什么是Turndown “Turndown” 是一个用于将 HTML 转换为 Markdown 的 JavaScript 库。它通常用于将富文本内容从网页或其他 HTML 格式转换为纯文本 Markdown 格式&#xff0c;以便在不同平台上显示或存储。 如果在有node环境的情况下要使用 Turndown&#xff0c;首先需要将它…...

【VUE复习·3】@keyup.xxx 键盘事件触发函数(单按键 or 组合按键触发)

总览 1.keyup.xxx or keydown.xxx 单按键触发 2.组合按键触发 一、keyup.xxx or keydown.xxx 1.用法 在我们使用 keyup.enter 时&#xff0c;那么我们可以这样写&#xff1a; <div><input type"text" placeholder"按下回车键以确定..." keyu…...

IntelliJ IDEA学习总结(3)—— IntelliJ IDEA 常用快捷键(带动图演示)

一、构建/编译 Ctrl + F9:构建项目 该快捷键,等同于菜单【Build】—>【Build Project】 执行该命令后,IntelliJ IDEA 会编译项目中所有类,并将编译结果输出到out目录中。IntelliJ IDEA 支持增量构建,会在上次构建的基础上,仅编译修改的类。 Ctrl + Shift + F9:重新编…...

巨人互动|Facebook海外户Facebook的特点优势

Facebook作为全球最大的社交媒体平台之一&#xff0c;同时也是最受欢迎的社交网站之一&#xff0c;Facebook具有许多独特的特点和优势。本文小编将说一些关于Facebook的特点及优势。 1、全球化 Facebook拥有数十亿的全球用户&#xff0c;覆盖了几乎所有国家和地区。这使得人们…...

(vue3)create-vue 组合式API

优势&#xff1a; 更易维护&#xff1a;组合式api&#xff0c;更好的TS支持 之前是选项式api&#xff0c;现在是组合式&#xff0c;把同功能的api集合式管理 复用功能封装成一整个函数 更快的速度 更小的体积 更优的数据响应式&#xff1a;Proxy create-vue 新的脚手架工…...

【如何看待Unity收费】对标中小公司的待就业者的该如何做

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…...

c++迷宫小游戏

一、总结 一句话总结&#xff1a; 显示&#xff1a;根据map数组输出图像 走动&#xff1a;修改map数组的值&#xff0c;每走一步重新刷新一下图像就好 1、如果走函数用z()&#xff0c;出现输入s会向下走多步的情况&#xff0c;原因是什么&#xff1f; 向下走两层循环ij增加&a…...

需求堆积,如何排序产品优先极

面对堆积的产品需求&#xff0c;到底该如何排序优先极呢&#xff1f; 需求排期的目标 在谈具体的排期方法之前&#xff0c;有必要先探讨一下——合理的需求排期应该达到什么的目标呢&#xff1f;如果站在与项目相关的利益人员的角度来看&#xff0c;至少应该使以下四方面的收…...

计算机视觉 回头重新理解图像中的矩

一、人类的欲望 图像中的矩是一个十分古老的话题,这个东西的出现始于人类的欲望,想要找到一种自动且强大的图像分析方法。 比如我们要在图像中识别某一个物体,而这个物体在不同的成像条件下,表现出的高矮胖瘦方向位置颜色都不可能完全一致,这就为识别带来了巨大的困难,但…...

MapStruct应用实战及BeanUtils性能比较

目录 1、MapStruct介绍2、应用设置2.1 Maven依赖 3、功能实战3.1 常用注解3.2 基本映射3.2.1 定义映射器的Java接口3.2.2 测试验证 3.3 参数引用映射3.3.1 定义映射器的Java接口3.3.2 测试验证 3.4 多对象参数映射3.4.1 定义映射器的Java接口3.4.2 测试验证3.4.3 注意点 3.5 嵌…...

ISP技术概述

原本或许是为了对冲手机系统和APP设计无力感而诞生的拍照功能,现今却成为了众手机厂家除背部设计外为数不多可“卷”的地方,自拍、全景、夜景、小视频等旺盛的需求让这一技术的江湖地位迅速变化。对圈内人士而言,这一波变化带来的后摄、双摄、多摄、暗光、防抖、广角、长焦、…...

CSDN: ABTest流量分层分桶机制

在互联网行业&#xff0c;无论是构建搜索推荐系统&#xff0c;还是智能营销等场景&#xff0c;都是围绕用户进行不同的实验&#xff0c;从各项指标上观察用户对不同交互、流程、策略、算法等反馈&#xff0c;进而对产品进行迭代改进。 本文的goal&#xff1a;在进行了模型的线下…...

【小余送书第一期】《数据要素安全流通》参与活动,即有机会中奖哦!!

目录 1、背景介绍 2、本书编撰背景 3、本书亮点 4、本书主要内容 5、活动须知 1、背景介绍 随着大数据、云计算、人工智能等新兴技术的迅猛发展&#xff0c;数据已经成为我国经济社会发展的五大生产要素之一&#xff0c;《网络安全法》《个人信息保护法》《数据安全法》的…...

蓝牙核心规范(V5.4)10.7-BLE 入门笔记之L2CAP

1.概述 ATT属性用于两个设备,一个扮演客户端的角色,另一个扮演服务器的角色。服务器公开一系列称为属性的复合数据项。这些属性由服务器按索引列表组织在称为属性表的列表中。 每个属性包含一个句柄、一个通用唯一标识符(UUID)、一个值和一组权限。 句柄是一个唯一的索引…...

VUE之正则表达式全集整理

一、正则表达式的基本语法 var expression /pattern(模式)/flags(标识符); 二、如何创建正则表达式 1.字面量创建 代码如下&#xff1a; //匹配字符串中所有“at”的实例 var e /at/g; //匹配第一个“bat”或“cat”,不区分大小写 var e /[bc]at/i; 2.RegExp构造函数创…...

Python 中的字符串基础与应用

在Python中&#xff0c;字符串可以用单引号或双引号括起来。‘hello’ 与 “hello” 是相同的。您可以使用print()函数显示字符串文字&#xff1a; 示例&#xff1a; print("Hello") print(Hello)将字符串分配给变量是通过变量名后跟等号和字符串完成的&#xff1a…...

C++:如何实现数组元素逆置?多种方法

方法1&#xff1a;使用额外的数组 这是一种比较简单的方法&#xff0c;它创建一个额外的数组来存储逆置后的元素&#xff0c;然后将其复制回原始数组。 #include <iostream>void reverseArray(int arr[], int size) {int reversed[size];for (int i 0; i < size; i)…...

php框架thinkPHP6的安装教程

1&#xff0c;composer官网下载最新版本 composerhttps://getcomposer.org/download/ 2&#xff0c;双击下载后的运行文件&#xff0c;一直点击next就行了 上面这个路径根据自己安装的php版本位置选择&#xff08;没有的可以下载一个phpstudy&#xff09;&#xff0c;最后需要…...

告别爬虫:使用trendsmcp API稳定获取多平台趋势数据

1. 项目概述&#xff1a;告别爬虫&#xff0c;拥抱稳定的趋势数据API如果你曾经尝试过用Python抓取Google Trends、新闻提及量或者社交媒体趋势数据&#xff0c;那你一定对“429 Too Many Requests”这个错误代码深恶痛绝。半夜两点&#xff0c;数据管道突然中断&#xff0c;你…...

ncmdumpGUI:解锁网易云音乐NCM文件格式的终极解决方案

ncmdumpGUI&#xff1a;解锁网易云音乐NCM文件格式的终极解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换&#xff0c;Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 还在为网易云音乐下载的NCM格式文件无法在其…...

JavaScript零基础到精通

&#x1f4da; 教程定位与目标 本教程专为‌零基础学习者‌设计&#xff0c;覆盖从‌语法入门‌到‌现代JavaScript精通‌的完整路径&#xff0c;内容严格遵循‌ES2026标准‌&#xff0c;融合‌MDN、freeCodeCamp、W3Schools‌权威结构&#xff0c;并适配‌中文学习者习惯‌。…...

Burpsuite社区版实战指南:从零掌握渗透测试核心模块

1. Burpsuite社区版入门&#xff1a;环境搭建与基础配置 第一次接触Burpsuite时&#xff0c;我被它复杂的界面吓到了——满屏的英文标签、密密麻麻的功能按钮&#xff0c;还有那些看不懂的专业术语。但实际用下来发现&#xff0c;社区版的功能对新手非常友好。先说说下载安装&a…...

AI原生创意协作框架Muse:从网状思维管理到自动化工作流实战

1. 项目概述&#xff1a;一个为创意工作者打造的AI原生工具最近在探索AI辅助创作工具时&#xff0c;我遇到了一个让我眼前一亮的项目&#xff1a;myths-labs/muse。乍一看这个名字&#xff0c;你可能会联想到艺术女神缪斯&#xff0c;而它的定位也确实如此——旨在成为创意工作…...

基于堆叠自编码器与LSTM的金融时间序列预测框架解析

1. 项目概述&#xff1a;一个基于多层神经网络的股票回报预测框架如果你对量化交易和机器学习结合感兴趣&#xff0c;并且已经厌倦了那些简单的线性回归或者单层LSTM模型&#xff0c;那么这个名为AIAlpha的项目可能会让你眼前一亮。它不是一个“即插即用”的盈利策略&#xff0…...

地表温度反演进阶:对比单窗算法与大气校正法,用ENVI/ERDAS分析Landsat 7 ETM+数据哪个更准?

地表温度反演技术深度对比&#xff1a;单窗算法与大气校正法的实战解析 遥感技术在地表温度反演领域的应用已经发展出多种成熟算法&#xff0c;其中单窗算法和大气校正法&#xff08;RTE&#xff09;是最为常用的两种方法。对于中高级遥感用户而言&#xff0c;理解这两种算法的…...

Perfmon性能计数器深度解析:从指标选取到瓶颈定位实战

1. Perfmon性能计数器入门&#xff1a;为什么它是Windows运维的瑞士军刀 第一次接触Perfmon&#xff08;Performance Monitor&#xff09;是在十年前处理一台频繁卡顿的数据库服务器时。当时我尝试了各种工具都找不到问题根源&#xff0c;直到一位老工程师教我打开了这个Window…...

SpringBoot微服务启动遇阻:RedisTemplate Bean缺失的排查与修复指南

1. 问题现象与初步分析 最近在调整SpringBoot微服务项目的Redis配置后&#xff0c;启动时突然遇到一个让人头疼的错误提示&#xff1a; Consider defining a bean of type org.springframework.data.redis.core.RedisTemplate in your configuration.这个错误表面看是Spring容器…...

C8051F系列MCU Flash存储操作与优化实践

1. C8051F系列MCU Flash存储操作核心解析在嵌入式系统开发中&#xff0c;Flash存储器的可靠操作是每个工程师必须掌握的技能。不同于RAM的随意读写&#xff0c;Flash存储有其独特的物理特性和操作约束。以Silicon Labs的C8051F系列微控制器为例&#xff0c;其内部Flash存储器采…...