我有一个可以在32位机器上编译并运行良好的软件包。我现在试图让它在64位机器上编译,并发现以下错误-
错误:从“void*”转换为“int”会丢失精度
是否有编译器标志来抑制这些错误?或者我必须手动编辑这些文件以避免这些强制转换
问题在于,在32位中,int(32位整数)将保存指针值
当您移动到64位时,您不能再将指针存储在int中-它不够大,无法容纳64位指针。intptr_t类型就是为此而设计的
共同学习, 共同进步, 祝各位早日成为代码大神
我有一个可以在32位机器上编译并运行良好的软件包。我现在试图让它在64位机器上编译,并发现以下错误-
错误:从“void*”转换为“int”会丢失精度
是否有编译器标志来抑制这些错误?或者我必须手动编辑这些文件以避免这些强制转换
问题在于,在32位中,int(32位整数)将保存指针值
当您移动到64位时,您不能再将指针存储在int中-它不够大,无法容纳64位指针。intptr_t类型就是为此而设计的