读书人

网络字节序、padding有关问题

发布时间: 2012-10-21 09:00:07 作者: rapoo

网络字节序、padding问题
求教下,
struct s1
{
type1 data1;
type2 data2;
...
}

socket传整个结构是不是不行啊,有byte order和padding什么的问题

基本类型的byte order由协议保障,但data2 地址一定比data1高吗?有无编译器吧data1排最高呢。
多谢!!

[解决办法]
编译器不会把data1排最高的。
但是如果type1 不是 char, 就要对data1进行byte-order进行调整。
[解决办法]
同意1L
[解决办法]
现在32的操作系统都只是对最基本的数据类型进行对齐,只要保证结构体是四字节对齐的基本没什么问题,最好别有padding,原先有的编译器对非对齐时的变量是向哪个方向靠说不准.
[解决办法]
socket传整个结构是不是不行啊,有byte order和padding什么的问题
-----------
data1都排前面
可以传输,在最开始处加上:#pragma pack(1)

读书人网 >C语言

热点推荐