43、UNIX 系统中的共享内存与内存映射文件技术解析

UNIX 系统中的共享内存与内存映射文件技术解析

1. 共享内存变量操作

在共享内存的操作中,若变量不存在,会在对应代码行(44 - 48)进行空间计算。新变量和值会在第 54 - 57 行追加到共享内存区域,第 58 行则会在末尾添加第二个空字节,以此标记变量列表的结束。

下面是用于按名称删除变量的模块代码:

/* globun.c */

#include "globvar.h"

/*
 * Unset a variable :
 */
void
unset_var(const char *varname) {
    int z;                          /* status code */
    char *var = get_var(varname);   /* Locate variable if it exists */
    char *cp;                       /* utility char pointer */
    int nlen = strlen(varname);     /* Length of variable name */

    if ( !var )
        return;                     /* Variable is already unset */

    /*
     * Now delete the variable :
     */
    var = var - nlen - 1;       /* Point to start of entry */

    for ( cp=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值