热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linuxc共享内存

#include#include#include#include#include
#include
#include
#include
#include
#include

typedef struct {
    int islock;
} VMMSHM;
int deleteShareMem() {
    int shm_id;
    key_t key;
    key = ftok("vmmshm", 1); // 计算标识符
    shm_id = shmget(key, 4096, IPC_CREAT);
    if (shmctl(shm_id, IPC_RMID, NULL) == -1)
        return -1;
    return 1;
}
int isLocked() {
    int shm_id;
    key_t key;
    VMMSHM *p_map;
    int islock;
    key = ftok("vmmshm", 1); // 计算标识符
    shm_id = shmget(key, 4096, IPC_CREAT);
    printf("shmid:%d\n", shm_id);
    if (shm_id == -1) {
        perror("shmget error");
        return -1;
    }
    p_map = (VMMSHM*) shmat(shm_id, NULL, 0);
    islock = p_map->islock;
    if (shmdt(p_map) == -1) {
        perror("shmdt error\n");
        return -1;
    }
    return islock;

}

int setLocked()
{
        int shm_id;
        key_t key;

        VMMSHM *p_map;
        key = ftok("vmmshm", 1);
        shm_id = shmget(key, 4096, IPC_CREAT);
        printf("shmid:%d\n",shm_id);
        if (shm_id == -1)

        {
            perror("shmget error \n");
            return -1;
        }
        p_map = (VMMSHM*) shmat(shm_id, NULL, 0);

        p_map->islock = 1;
        if (shmdt(p_map) == -1) {
            perror("detach error");
            return -1;
        }
        return 1;

//用ipcs -m命令查看系统的所有共享内存

转:https://www.cnblogs.com/yangyh/archive/2010/06/30/1768584.html



推荐阅读
  • 深入分析 Linux 内核链表转
    引用地址:http:www.ibm.comdeveloperworkscnlinuxkernell-chainindex.html一、链表数据结构简介链表是一种常用的 ... [详细]
  • zabbix 自定义监控
    配置自定义监控,我们需要配置监控项的key,和监控项返回的value添加自定义监控key的格式,在配置文件中添加UserParameter ... [详细]
  • 开发笔记:基于原生js的图片轮播效果简单实现
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了基于原生js的图片轮播效果简单实现相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Freemarker
    目录Freemarker简介安装使用FIL取值list迭代列表list迭代Map内建函数Freemarker与Servlet整合Freemarker简介FreeMarker是一款主 ... [详细]
  • 本文整理了Java中java.nio.file.attribute.BasicFileAttributes.size()方法的一些代码示例,展示了Basic ... [详细]
  • nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • Android基础—三个绘图工具类详解
    1.相关方法详解1)Paint(画笔):就是画笔,用于设置绘制风格,如:线宽(笔触粗细),颜色,透明度和填充风格等直接使用无参构造方法就可以创建Paint实例:Paintpaint ... [详细]
  • 一、权限:一,不使用--auth1.首先,不使用--auth参数启动MongoDB:.mongodb-linux-i686-3.0.0binmongod-fmongodb-linu ... [详细]
  • #B.BalancedBreakdown#####1.题目大意:给定一个n,从n中不断分离回文数(翻转后大小相同的数字)问最少需要多少步,输出最少步数以及一种方案(方案不唯一)## ... [详细]
  • key_ctrl主要用于监控键盘按钮,定义按钮功能,便于智能车的控制和调试该包主要包含:key.hkey_ctrl_node.cpp ... [详细]
  • 最大公约数应用(数学)
    HDU1222思路:思路:m和n如果有公约数,则安全洞存在,无公约数或公约数为1,则无1#include ... [详细]
  • 本文主要参考《Python机器学习经典实例》  在介绍凝聚层次聚类之前,我们需要先理解层次聚类(hierarchicalclustering)。层次聚类是一组聚类算法,通过不断地分 ... [详细]
  • MPI的全称是MessagePassingInterface即标准消息传递界面,可以用于并行计算。MPI的具体实现一般采用MPICH。下面介绍如何在WindowsXP系统下VC6中搭建MPI环境 ... [详细]
  • 第二章 基础技术
    一、运行单一实例通过创建系统命名互斥对象的方式来实现1、实现原理通过CreateMutex函数创建一个命名的互斥对象,如果对象创建成功,而且通过调用GetLastError函数获取 ... [详细]
  • S3C6410LCD控制器1、LCD的种类。LCD(LiquidCrystalDisplay),即液晶显示器,是一种采用了液晶控制透光度技术来实现的彩色 ... [详细]
author-avatar
VW旻shi只吃货8453
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有