- 博客(3)
- 资源 (5)
- 收藏
- 关注
原创 Linux下基于POSIX标准的共享内存操作示例
<br /> 对于进程间通信,之前一直是用管道进行实现。比如父子进程间使用pipe,无血缘关系的进程可以使用fifo。从来没有想过使用共享内存,为什么呢?大家还记得这本书吧《Unix环境高级编程》,上面讲解了关于共享内存的操作,说实话,太麻烦了,真的不好用(有好多繁杂的接口,比如shmget, shmat,shmdt,chmctl等)。现在好了,基于POSIX标准的共享内存操作变得及其简单,总共就几个接口可供调用,已经变得像操作普通文件一样简单!<br /> 新的标准的接口如下:<
2010-12-31 11:10:00 4730
原创 关于函数返回指针
<br /> 昨天遇到一个小问题。假设function foo()返回一个指针,该函数目的在于从系统中获取一些信息,然后以指针的形式返回给用户。<br /> 这里的指针是指向一个全局变量的(比如用一个全局的结构体来保存信息)。当用户区调用的时候,可以先声明一个指针,让后将<br />结果返回给该指针。当用户每次调用之后就使用该指针时不会出现问题。但是当再次调用foo()并传递其他参数就会出现如下问题:typedef struct xxx_val {...}xxx_val_t;
2010-12-14 10:23:00 786
原创 结构体中的空指针
说来真是惭愧了,写代码也有2年了,好久没有遇到段错误了,这次的代码,就是一个文本处理,竟然有段错误。真是羞死人! 到底怎么产生的呢?原来。一个函数的参数为结构体指针,该结构体中有两个变量,均为指针,在引用该结构体指针中的变量(也是指针)没有进行空指针判断!!!唉,以后要注意了。代码运行到一段时间提升segment fault。没有任何提示。因为不是每次都遇到空指针,所以很难调试,所以以后写代码还是要注意啊!
2010-12-06 10:52:00 4495
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人