首页 > 系统服务 > 详细

关于Linux下C编译错误(警告)cast from 'void*' to 'int' loses precision

时间:2016-09-09 11:39:56      阅读:716      评论:0      收藏:0      [点我收藏+]
char *ptr;  //此后省略部分代码    
if( (int)ptr==-1 )  //出错地方  

那句话的意思是从 void* 到 int 的转换丢失精度,相信看到解释有些人就明白了,

此问题只会出现在X64位的Linux上,因为在64位的机器上指针占用8个字节,int 占用四个字节,所以才会出现这样的问题,

解决方法:

(long)ptr == -1 就好了

关于Linux下C编译错误(警告)cast from 'void*' to 'int' loses precision

原文:http://www.cnblogs.com/jiu0821/p/5855791.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!