风过无痕,生命如烟

每个人生下来都是天使,不过这个世界上也存在着恶魔。恶魔是天使变的,因为这个世界充满了诱惑。

导航

2012年2月16日 #

64位整数的编译错误

摘要: 在用GCC编译下面的代码时出现以下错误:integer constant is too large for 'long' typeunsigned long long m_qtFlags=(m_qtFlags&0xffffffff00000000)|Flags;google了一下发现原因如下:unsigned long long是64位整数,而编译器在解析没有后缀的常量时会尝试解析成int,而0xffffffff00000000超过了int的范围,所以会报warning或者error解决方法:在常量后面加ULL告诉编译器这是一个64位整数 阅读全文

posted @ 2012-02-16 14:02 hyamw 阅读(362) 评论(0) 推荐(0) 编辑