在32位的linux虚拟机上写了一个网络程序,在64位的服务器上编译运行后,总是崩溃。出现一个
Segmentation fault
于是开始在程序中到处插桩,输出调试信息。
最后发现是 inet_ntoa的问题,在网上百度了一下,好像是说64位的系统是有这个问题。
解决方法:
1、如果使用inet_ntoa()的话,需要 #include <arpa/inet.h>
2、使用inet_ntop
最后说一下,如果是用第二种方法,也要用#include <arpa/inet.h>,不然还是会出段错误。
参考资料:
http://blog.csdn.net/zmxiangde_88/article/details/8157256
http://blog.csdn.net/qianlong4526888/article/details/7614525
Segmentation fault
于是开始在程序中到处插桩,输出调试信息。
最后发现是 inet_ntoa的问题,在网上百度了一下,好像是说64位的系统是有这个问题。
解决方法:
1、如果使用inet_ntoa()的话,需要 #include <arpa/inet.h>
2、使用inet_ntop
最后说一下,如果是用第二种方法,也要用#include <arpa/inet.h>,不然还是会出段错误。
参考资料:
http://blog.csdn.net/zmxiangde_88/article/details/8157256
http://blog.csdn.net/qianlong4526888/article/details/7614525