仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 754|回复: 9
打印 上一主题 下一主题

[其他Linux] Linux编程之Linux下历程通讯C动静行列仓酷云

[复制链接]
跳转到指定楼层
楼主
发表于 2015-1-18 11:22:51 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
看不懂man文档的人.在linux中,命令可分为系统基本命令和应用程序命令.系统基本命令是所有的unix类系统都支持的命令,走到哪都不变,只要是unix类系统上就肯定有.
代码
[cpp]
/*
*main.cc
*
*Createdon:2010-1-19
*Description:IPC–动静行列的完成
*Copyright:2010@ICTLiHeyuan
*/
#include<sys/types.h>
#include<sys/msg.h>
#include<sys/ipc.h>
#include<sys/types.h>
#include<unistd.h>
#include<fcntl.h>
#include<errno.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedefstruct{
longmtype;
charmtext[10];
}_msgbuf;
constchar*path="/tmp/test_ipc_1234";
intproj_id=123;
intret;
intmain(){
//第零步创立path这个文件
ret=creat(path,S_IRWXU);
if(ret==-1){
printf("createfilefail.n");
exit(-1);
}
//第一步取得key_t(SystemVkey)
key_tkey=ftok(path,‘d’);
if(key==-1){
printf("getkey_tfail.n");
exit(-1);
}
//第二步创立一个message_queue
//这个|S_IRWXU是设置权限,同open的mode参数,最低8位决意
intmsgid=msgget(key,IPC_CREAT|S_IRWXU);
if(msgid==-1){
printf("createmsg_queuefail:%s.n",strerror(errno));
exit(-1);
}
ret=fork();
if(ret==-1){
printf("forkfail.n");
exit(-1);
}elseif(ret==0){
printf("I’mchildpid%dn",getpid());
//第三步子历程发送msgsnd
_msgbufmsg1;
msg1.mtype=4;
strcpy(msg1.mtext,"Hi");
ret=msgsnd(msgid,&msg1,sizeof(_msgbuf),0);
if(ret==-1){
printf("sendmsgfail:%sn",strerror(errno));
}else{
printf("sendmsgsuccess.n");
}
exit(0);
}else{
//第四步父历程承受msgsnd
printf("I’mfatherpid%dn",getpid());
_msgbufmsg1;
ssize_tsize=msgrcv(msgid,&msg1,sizeof(msg1),4,0);
if(size==-1){
printf("rcvmsgfail.n");
}else{
printf("Childsendmeamsg%dbytes,said:%sn",size,msg1.mtext);
}
}
ret=msgctl(msgid,IPC_RMID,NULL);//删除动静行列
if(ret==-1){
printf("unlinkmsgqueueerrorn");
exit(-1);
}
exit(0);
}
[/cpp]

学习linux,就意味着更快的开发效率,等更多关于软件本身或者说操作系统本身的理解。
不帅 该用户已被删除
10#
发表于 2015-3-15 08:48:15 | 只看该作者
和私有操作系统不同,各个Linux的发行版本的技术支持时间都较短,这对于Linux初学者是往往不够的。
第二个灵魂 该用户已被删除
9#
发表于 2015-3-7 15:39:06 | 只看该作者
Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问。
山那边是海 该用户已被删除
8#
发表于 2015-3-7 13:13:39 | 只看该作者
我感觉linux的学习,学习编程~!~!就去学习C语言编程!!
小妖女 该用户已被删除
7#
发表于 2015-2-28 21:21:53 | 只看该作者
我感觉linux的学习,学习编程~!~!就去学习C语言编程!!
再现理想 该用户已被删除
6#
发表于 2015-2-10 05:24:21 | 只看该作者
和私有操作系统不同,各个Linux的发行版本的技术支持时间都较短,这对于Linux初学者是往往不够的。
活着的死人 该用户已被删除
5#
发表于 2015-2-4 19:39:06 | 只看该作者
要增加自己Linux的技能,只有通过实践来实现了。所以,赶快找一部计算机,赶快安装一个Linux发行版本,然后进入精彩的Linux世界,相信对于你自己的Linux能力必然大有斩获。
金色的骷髅 该用户已被删除
地板
发表于 2015-1-30 07:26:03 | 只看该作者
让我树立了很大的信心学好这门课程,也学到了不少专业知识和技能。?
柔情似水 该用户已被删除
板凳
发表于 2015-1-24 12:04:44 | 只看该作者
学习Linux系统在服务中的配置方法及使用方法。Linux在服务器中应用相当广,应对常用的apache,samba,ftp等服务器基本配置清楚了解。[重点,应巩固学习]
灵魂腐蚀 该用户已被删除
沙发
发表于 2015-1-20 22:52:14 来自手机 | 只看该作者
我们自学,就这个循环的过程中,我们学习了基本操作,用vi,shell,模拟内存的分配过程等一些OS管理。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 13:30

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表