LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 632|回复: 4

问一个socket编程的问题!

[复制链接]
发表于 2004-12-2 22:30:53 | 显示全部楼层 |阅读模式
我用socket写了一个简单的传输程序,接受端在一台windows机器上,发送端在一台linux机器上,发送的内容为一个结构体
struct test{ int a; double b;}
windows接受端收到的结果a是正确的,b不正确,如果把b的类型改成int,结果是对的。有那位高手知道原因吗?
发表于 2004-12-2 22:41:46 | 显示全部楼层
是不是编译器进行优化了?防止编译器进行字节对齐看看。
 楼主| 发表于 2004-12-2 23:08:58 | 显示全部楼层
我就是用g++编的,什么选项也没用。原来没有用过,选项是哪个?会影响性能吗?
发表于 2004-12-3 00:20:02 | 显示全部楼层
  1. [color=blue]
  2. struct test { int a; double b; } __attribute__((packed));
  3. [/color]
复制代码

是否影响结果就不知了。
 楼主| 发表于 2004-12-4 12:08:25 | 显示全部楼层
好像将a和b都转化成网络字节顺序,就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表