关于Linux下C编译错误(警告)cast from 'void*' to 'int' loses precision
2016-09-09 11:03
369 查看
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
- 关于Linux下C编译错误(警告)cast from 'void*' to 'int' loses precision
- Linux系统平台下关于GCC编译及使用的方法(-Werror,它要求GCC将所有的警告当成错误进行处理 )
- Linux系统平台下关于GCC编译及使用的方法 (-Werror,它要求GCC将所有的警告当成错误进行处理
- 关于Linux(ubantu12.04)下编译错误mysql.h找不到的问题
- 编译Linux/Android 输出很多信息很难找到错误/警告信息怎么办?
- Linux GCC编译警告:Clock skew detected. 错误解决办法
- 关于Linux环境编译错误:“undefined reference to" 的原因总结
- Linux GCC编译警告:Clock skew detected. 错误解决办法
- (转)怎么去掉Xcode工程中的某种类型的警告 Implicit conversion loses integer precision: 'NSInteger' (aka 'long') to 'int32
- Linux系统平台下关于GCC编译及使用的方法(-Werror,它要求GCC将所有的警告当成错误进行处理 )
- linux 关于编译模块缺少config.h而产生错误的问题
- 关于VS2017编译linux程序时,错误提示信息太简单,看不出错误原因的解决办法
- Embeded linux之内核编译错误警告汇总
- linux 编译警告:检测到时钟错误。您的创建可能是不完整的。
- Linux系统平台下关于GCC编译及使用的方法(-Werror,它要求GCC将所有的警告当成错误进行处理 )
- Linux编译警告:检测到时钟错误。您的创建可能是不完整的。
- linux编译mysql关于mysql.sock的错误
- Linux系统平台下关于GCC编译及使用的方法
- linux下c++程序编译错误--理解typename