peakzhang 发表于 2008-9-18 23:24:46

一个跨平台的问题,搞笑

一个原来好好的网络程序,在另外一台LINUX机器上面重新编译后,运行很奇怪。总是无法解析网络数据。
跟踪发现,取得的头部信息,都是错误的。
       查了半天,最终发现,取得的头部信息,是原来的两倍长度!原来这个机器是64位CPU,头部信息里面,定义使用了
long型,32位下是4字节,64位下是8字节,导致长度加倍。更换了数据类型后,重新编译运行,正常了。
      看来以后还得多注意这种跨平台的兼容性问题了。

ztenv 发表于 2011-3-15 12:00:53

我也遇到一个人写的MD5加密的,在32下没问题,在64位下就非操,后来一看才知道用了long,花了几个小时的时间;
页: [1]
查看完整版本: 一个跨平台的问题,搞笑