繁体   English   中英

关于inet_ntoa()的一些事情

[英]something about inet_ntoa()

我使用函数char* inet_ntoa(struct in_addr in),编写服务器char* inet_ntoa(struct in_addr in),当我包含头<sys/socket.h><netinet/in.h> ,可以使用编译器警告生成可执行二进制文件,但是段当程序处理来自inet_ntoa的返回字符串时,会发生inet_ntoa 但是当我添加标题<arpa/inet.h>,一切似乎都没问题。

怎么了?

arpa/inet.h包含char* inet_ntoa(struct in_addr in) 如果您不包含此标头,则编译器将使用隐式声明int inet_ntoa() 错误的声明很容易导致段错误,特别是如果你在系统中sizeof(int)!=sizeof(void*)

如果您使用的是gcc ,可以添加-Wall标志。 gcc会警告你在没有明确声明的情况下使用函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM