- 论坛徽章:
- 0
|
在AIX64位机上,htonl、ntohl和htons、ntohs似乎没起作用。\r\n$uname -a\r\nAIX su_p57_dev 3 5 00C2BF1B4C00\r\n请高手指点一下,谢谢。\r\n\r\n比如下面这段程序,在AIX64(使用了-q64)和SCO上分别编译。\r\n\r\n#include <stdio.h>\r\n#include <stdlib.h>\r\n#include <sys/socket.h>\r\n#include <netinet/in.h>\r\n\r\nvoid main()\r\n{\r\n short len=738;\r\n\r\n printf(\"sizeof short= %d\\n\",sizeof(short));\r\n printf(\"sizeof int = %d\\n\",sizeof(int));\r\n printf(\"sizeof long = %d\\n\",sizeof(long));\r\n\r\n printf(\"htons( %d )=%d\\n\",len,htons(len));\r\n printf(\"ntohs( 57858 )=%d\\n\",ntohs( 57858 ));\r\n}\r\n\r\n在AIX64上的执行结果如下:\r\nsizeof short= 2\r\nsizeof int = 4\r\nsizeof long = 8\r\nhtons( 738 )=738\r\nntohs( 57858 )=57858\r\n\r\n\r\n在SCO上的执行结果如下:\r\n\r\nsizeof short=2\r\nsizeof int =4\r\nsizeof long =4\r\nhtons( 738 )=57858\r\nntohs( 57858 )=738\n\n[ 本帖最后由 BlackSnail 于 2006-10-11 14:08 编辑 ] |
|