社区
C语言
帖子详情
shmget(key,size,flag)的第三个参数可否为0?
leiajay
2010-12-08 10:50:22
现在我知道第三个参数可以去IPC_CREAT和IPC_EXCL的组合,但是看见一程序中if ( (Id = shmget(shmKey,(size_t)0,0)) == -1 )第三个参数为0,flag为0是什么意思?
#define IPC_CREAT 01000 /* Create key if key does not exist. */
#define IPC_EXCL 02000
...全文
579
4
打赏
收藏
shmget(key,size,flag)的第三个参数可否为0?
现在我知道第三个参数可以去IPC_CREAT和IPC_EXCL的组合,但是看见一程序中if ( (Id = shmget(shmKey,(size_t)0,0)) == -1 )第三个参数为0,flag为0是什么意思? #define IPC_CREAT 01000 /* Create key if key does not exist. */ #define IPC_EXCL 02000
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
leiajay
2010-12-09
打赏
举报
回复
[Quote=引用 1 楼 yihandrensunyong 的回复:]
shmget(keyval,segsize,IPC_CREAT|0660)
0666 每一位表示一种类型的权限,比如,第一个0是UID,第一个表示拥有者的权限,第二个6表示同组权限,第3个6表示他人的权限。
第三个参数为0 可能是shmget(keyval,segsize,IPC_CREAT|000)
我认为是。。。
[/Quote]
现在清楚了
事实上shmget(shmKey,(size_t)0,oflag)第三个参数oflag为IPC_xxx|mode,无IPC_xxx标识表示引用已存在的共享内存,mode为0表示无权限检查。所以oflag为0表示不做权限检查,打开已经存在的共享内存
就想叫yoko
2010-12-08
打赏
举报
回复
++[Quote=引用 2 楼 hai040 的回复:]
man
[/Quote]
yihandrensunyong
2010-12-08
打赏
举报
回复
shmget(keyval,segsize,IPC_CREAT|0660)
0666 每一位表示一种类型的权限,比如,第一个0是UID,第一个表示拥有者的权限,第二个6表示同组权限,第3个6表示他人的权限。
第三个参数为0 可能是shmget(keyval,segsize,IPC_CREAT|000)
我认为是。。。
shm
get函数
shm
get int
shm
get(
key
_t
key
,
size
_t
size
, int f
lag
);
key
: 标识符的规则
size
:共享存储段的字节数 f
lag
:读写的权限 返回值:成功返回共享存储的id,失败返回-1
key
_t
key
-----------------------------------------------
key
标识共享内存的键值:0/IPC_PRIVATE。 当
key
的取值为IPC_PRIVATE,则函数
shm
get()将创建一块...
linux c 共享内存
shm
get
参数
简介 IPC_CREAT、IPC_EXCL、0666
int
shm
get(
key
_t
key
,
size
_t
size
, int f
lag
);
key
: 标识符的规则
size
: 共享存储段的字节数 f
lag
:读写的权限还有IPC_CREAT或IPC_EXCL对应文件的O_CREAT或O_EXCL 返回值: 成功返回共享存储的id,失败返回-1
key
_t
key
key
标识共享内存的键值: 0/IPC_PRIVA...
共享内存
shm
get函数
创建共享内存 int
shm
get(
key
_t
key
,
size
_t
size
, int f
lag
); //such as:
key
_t
key
= ftok(".",1);
shm
Id =
shm
get(
key
,1024*4,IPC_CREAT|0666); if(
shm
Id == -1){ perror("
shm
get:"); return -1; } 第一个
参数
k
共享内存—
shm
get
参数
shm
flg详解—IPC_CREAT、IPC_EXCL、0666(对内存的读写执行权限)
int
shm
get(
key
_t
key
,
size
_t
size
, int f
lag
);
key
: 标识符的规则
size
: 共享存储段的字节数 f
lag
: 读写的权限还有IPC_CREAT或IPC_EXCL对应文件的O_CREAT或O_EXCL 返回值: 成功返回共享存储的id,失败返回-1 1
key
_t
key
key
标识共享内存的键值: 0/IPC_PRIVAT...
system v 共享内存 相关函数及返回值 描述
共享内存—
shm
get
参数
shm
flg详解—IPC_CREAT、IPC_EXCL、0666(对内存的读写执行权限)
int
shm
get(
key
_t
key
,
size
_t
size
, int f
lag
);
key
: 标识符的规则
size
: 共享存储段的字节数
f
lag
: 读写的权限还有IPC_CREAT或IPC_EXCL对应文件的O_CREAT或O_EXCL
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章