[juliantec_list] Re:Re: 假如在两个进程之间传递很多结构体的话,要怎么做比较好?

  • From: 张亮伟 <liangatzhang@xxxxxxx>
  • To: "Yihe Chen" <yihect@xxxxxxxxxxxxxx>
  • Date: Mon, 23 May 2011 13:24:07 +0800 (CST)

>
>现在通信的双方,都是在同一台机器上的,所以结构体
>内各字段的对齐和大小端就不需要考虑了;否则,假如
>是在不同处理器架构上两进程间传递的话,还是得考虑
>的。这种情况下,最好加上 __attribute__ ((packed))
>之类的来,避免结构体内的对齐。

是的,我们现在的通信都是在一台机器上的,所以先不
考虑结构体对齐和padding了,:)

>
>你这里因为需要表示不同的数据,所以只能定义不同的
>结构体。这些结构体里面会有相同的字段,比方表示
>结构体本身大小的,最好把它们放在结构体定义的最前
>面。这样,当接收进程读取四个字节的长度字段后,紧
>接着,再读取这指定长度的剩余字节数即可。
>
>

能否给点代码做例子用了,演示一下如何定义这些结构体
就可以了,不用太复杂的。

Other related posts: