小鱼儿游啊游啊。。。。
全部博文(338)
分类: Android平台
2013-11-11 14:07:14
前些天看到有个博主写博客采用问答式的叙述方法:把很多知识点通过一问一答的形式把文章串起来,我觉得这种形式不错,便于突出重点。后面我也做下尝试,一边写写博客,一边回顾一下自己对IPC进程通信的认识。
Q:这些例子来自哪?
A:来自IBM的文档库,具体地址可以参考我的这篇文章 http://blog.csdn.net/lzx_bupt/article/details/7651207,汇总了这几天我看的进程通信的资料。
Q:IBM原文都写过了,为什么还要在这里再写一遍?
A:IBM原文挺经典的,我这里还是建议大家看看,但是原文例子有些编译不通过的地方,需要做适当修改才能运行。另外那些例子比较早了,在现在的系 统上运行结果不一定和文章描述一致。最后就是,原文对例子中的语句注释不够详细,不如再写一遍,加深对例子的认识,同时多学习点编程知识。
Q:代码里怎么那么多注释?
A:我本来想少写点注释的,并且打算用自己的话写,不过我发现系统编程手册给的解释特别好,而且已经很精简了,其他网站给的说明还没有手册的完整, 所以干脆直接贴手册的内容吧。所以会看到注释比代码还多。。。,如果你不想看注释,直接把代码粘到本地,删除注释就一目了然了。
Q:例子能保证编译么,可以开始了?
A:都是自己编译通过的,让我们开始吧~
IPC共享内存-----系统V方式编程实例
该实例包含两个程序:map_v_write.cpp和map_v_read.cpp,分别编译后先创建一个文件名为myshm,这个文件是生成IPC KEY而用的,代码里有描述。之后先运行write程序,再运行read程序,观察结果。
读端的程序用到的API和写端一样,就略去注释了
最后贴一下errno.h定义,据此可以找到错误原因