当前位置:网站首页>共享内存 - shmget填坑记
共享内存 - shmget填坑记
2022-07-29 13:42:00 【偏安一隅,占山为王】
shmget设置的size值,不能大于最大值SHMMAX和小于最小值SHMMIN
且若是key值对应的段已经存在,那么后来使用shmget的size值要小于等于原来的值函
而后询问了一下那位程序猿,他设置的是20kB,个人是100kB,且他的设置为了开机启动,因此每次出错的都是我了,悲催!
/******************************************************************************
*函数名称:yg_init_mem_share
*功能描述: 初始化共享内存(用于存放地图校准数据)
*全局影响:无
*输入:
*输出:无
*返回值:0:成功 -1:发送失败
* 做者 日期 内容
* Jimmy 2018-10-16 建立
*
******************************************************************************/
void yg_init_mem_share(int size)
{
key_t key;
//int size = 1024*1024; //1M内存大小
//1. 建立共享内存
if(-1 == (key = ftok("/", 4)))
{
bv_loge("ftok failed [%d:%s]!", errno, strerror(errno));
bv_error_handle("ftok failed [%d:%s]!", errno, strerror(errno));
return ;
}
bv_logd("key=%#x!", key);
SHM_ID = shmget(key, (size_t)size, IPC_CREAT|0644);
if(-1 == SHM_ID)
{
bv_loge("Init the shared memory[%dKB] failed [%d:%s]!",size/1024, errno, strerror(errno));
bv_error_handle("Init the shared memory[%dKB] failed [%d:%s]!",size/1024, errno, strerror(errno));
}
else
{
bv_logd("Init the shared memory[%dKB] OK!", size/1000);
bv_file_log(g_tcp_fp, "Init the shared memory[%dKB] OK!", size/1000);
}
return ;
}上面是复制别人的,意思就是说,你先创建了一个KEY对应的文件,比如说是K1,现在程序运行时K1对应的内存SIZE是1000字节,后面你想扩大这个内存,直接修改分配的内存的话,最大还是1000字节,只有删掉K1对应的文件,重新创建并分配更大内存,才能满足。
边栏推荐
- Leetcode65. 有效数字
- HCIP第十三天笔记(BGP的路由过滤、BGP的社团属性、MPLS)
- 【pytorch】1.6 tensor 基本运算
- TCP流量控制和拥塞控制
- 何为擦除机制,泛型的上界?
- "Industrial flaw detection depth study method" the latest 2022 research were reviewed
- 2022年了!还在用定时器实现动画?赶紧试试requestAnimationFrame吧!
- 程序员是职业病高发群体,别天真的以为只有秃头那么简单,才不是呢。
- IJCAI 2022 outstanding papers published, China won two draft in 298 the first author
- [10:00 Open Class]: Application Exploration of Kuaishou GPU/FPGA/ASIC Heterogeneous Platform
猜你喜欢

程序员入门的第一个程序,打印输出 “ HelloWorld “

十种实现延迟任务的方案

基于对象的实时空间音频渲染丨Dev for Dev 专栏

开关电源-PWM外设简介及MCC配置

企业需要知道的5个 IAM 最佳实践

84.(cesium之家)cesium模型在地形上运动

EA&UML日拱一卒-活动图::CallOperationAction(续)

升级 MDK 5.37 后的问题处理: AC6编译选项, printf, 重启失效等

The 10,000-character long article reveals the secrets of Huawei's data governance system!

Gee engine modification UI interface graphic tutorial
随机推荐
HCIP第十三天笔记(BGP的路由过滤、BGP的社团属性、MPLS)
开关电源-半桥LLC控制
PAT serie a A1021 Deepest Root
有关包装类的一道经典面试题
浅谈如何在渗透测试中快速搞定webshell
新来技术总监:谁在用 isXxx 形式定义布尔类型,明天不用来了!
即时通讯移动端开发之网络连接优化
EA&UML日拱一卒-活动图::StartClassifierBehavior和StartObjectBehavior
PHP代码审计得这样由浅入深地学
【论文阅读】异常检测的视频通过Self-Supervised和多任务学习
多人协作开发出现代码冲突,如何合并代码?
Bika LIMS 开源LIMS集—— SENAITE的使用(用户、角色、部门)
Leetcode67. 二进制求和
The core principles of electronic games
唯物辩证法-矛盾论(普遍性+特殊性+斗争性+同一性)
根据msql表的结构自动生成gorm的struct
中国电信首发全新加密通话产品!有效防止网络监听
Project Manager: Not bad!The SSO single sign-on code is written, and the sequence diagram is also drawn?
关于知识付费的一些思考
[局域网劫持]如何搞懵蹭网的同学-详细过程