摘要:
消息队列的实现转换为经典的生产者——消费者模型。网上很多实现只能在生产者:消费 = 1:1的情况下运行。本实现参考《Unix 网络编程——卷二 进程间通信》,可以在任意配比下运行。还参考了《一种同步消息队列模型(C++)》,但由于 STL中的deque不必担心内存分配问题,所以实现只有互斥相关的操作。来看基础消息的定义,作为基类——有其它消息类型可以模拟C++中的继承机制。typedef struct ares_msg_block{ pthread_t pid; void *msg;}msg_block_t;共享内存区域,即循环消息队列的结构定义typedef s... 阅读全文
摘要:
更新到最新的7789版。打开CodeBlocks出现如下意思是gcc遇到无效指令。参考文章《cygwin 1.7升级之后,外部直接访问gcc返回Access is denied 》中说参考官方文档http://www.cygwin.com/ml/cygwin/2009-03/msg00046.html. 原来,本质问题是,cygwin1.7采用了Linux下的link方式。也就是让一个文件和另外一个文件关联。而DOS无法识别这种关联,所以,它就不知道gcc到底是gcc3还是gcc4哪个。 如果不是输入gcc,而是gcc-3或者gcc-4,那么就OK了。g++也相应是g++-3或者g++-4。所 阅读全文
摘要:
看到某个源码,有个关于struct初始化的问题不是太清楚。源码如下#define _OBJ_CONTAINER_LIST_INIT(c) \ {&(rt_object_container[c].object_list), &(rt_object_container[c].object_list)}struct rt_object_information rt_object_container[RT_Object_Class_Unknown] ={ /* initialize object container - thread */ {RT_Object_Class_T... 阅读全文