inet_ntoa函数在编译时候报 ”warning: assignment makes pointer from integer without a cast“ 告警
来源:互联网 发布:天猫双11交易数据 编辑:程序博客网 时间:2024/05/21 09:19
编译有告警代码
#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <stdio.h>/* char *inet_ntoa(struct in_addr in) int inet_aton(const char *cp, struct in_addr *inp); // struct sockaddr_in server_ip;*/int main(){ int ret = 0; char *ip_addr = NULL; struct in_addr byte_addr = {0}; const char ipaddress[] = "192.168.1.5"; ret = inet_aton(ipaddress, &byte_addr); printf("inet_aton return %d\n", ret); printf("byte addr is (0x%x)\n", byte_addr.s_addr); printf("byte 0 value[0x%x]\n", *((unsigned char *)&byte_addr.s_addr)); printf("byte 1 value[0x%x]\n", *((unsigned char *)&byte_addr.s_addr + 1)); printf("byte 2 value[0x%x]\n", *((unsigned char *)&byte_addr.s_addr + 2)); printf("byte 3 value[0x%x]\n", *((unsigned char *)&byte_addr.s_addr + 3)); /* 将网络字节序的IP地址再转换为字符串形式*/ ip_addr = inet_ntoa(byte_addr); printf("ip address [%s]\n", ip_addr); return 0;}
编译结果:
gcc -E server.c -o server.igcc -S server.c -o server.sserver.c: In function 'main':server.c:30:13: warning: assignment makes pointer from integer without a castgcc -g server.c -o serverserver.c: In function 'main':server.c:30:13: warning: assignment makes pointer from integer without a cast
很奇怪为什么会报告警
inet_ntoa函数原型
/* Convert Internet number in IN to ASCII representation. The return value is a pointer to an internal array containing the string. */extern char *inet_ntoa (struct in_addr __in) __THROW;
该定义在 arpa/inet.h中,所以在代码中包含这个头文件,再次进行编译,无告警
gcc -E server.c -o server.igcc -S server.c -o server.sgcc -g server.c -o server
已经没有告警;应该是没有包含正确的头文件,导致引用了错误的原型声明(没有找到这个错误的原型声明在哪个头文件中)
0 0
- inet_ntoa函数在编译时候报 ”warning: assignment makes pointer from integer without a cast“ 告警
- warning: assignment makes pointer from integer without a cast错误
- 【warning: assignment makes pointer from integer without a cast 】
- warning: assignment makes pointer from integer without a cast
- warning: assignment makes pointer from integer without a cast
- 关于 warning: assignment makes pointer from integer without a cast
- warning: assignment makes pointer from integer without a cast
- warning: assignment makes pointer from integer without a cast
- warning: assignment makes pointer from integer without a cast。
- warning: assignment makes pointer from integer without a cast
- linux c 编译时出现warning: assignment makes pointer from integer without a cast原因
- c++经验总结(1):linux c 编译时出现warning: assignment makes pointer from integer without a cast原因
- 关于如何解决warning: assignment makes pointer from integer without a cast的警告
- Flex: yylval warning: assignment makes pointer from integer without a cast [enabled by default]
- assignment makes pointer from integer without a cast
- gcc_warning:assignment makes integer from pointer without a cast
- assignment makes integer from pointer without a cast
- warning: initialization makes pointer from integer without a cast
- MyBatis的初步使用
- Python深入:setuptools简介
- Easyui
- 编程之美-字符串移位包含的问题
- 异常和异常处理(windows平台)
- inet_ntoa函数在编译时候报 ”warning: assignment makes pointer from integer without a cast“ 告警
- IOS开发基础Object-C(02 )—第一个OC类
- sleep()、wait()、yield()、join()方法 解析
- 9、Swift语言中switch条件语句的基本用法
- 调试驱动
- 冒泡算法
- 1041. 考试座位号(15)
- 字符转ASCLL码输出
- 爬爬爬之路:OC语言(五) 字典 集合常用方法介绍