解决typedef unsigned long long DDWORD; 在VC下编译不过问题。
来源:互联网 发布:kali linux dsdt 编辑:程序博客网 时间:2024/05/07 16:56
http://www.byvoid.com/blog/c-int64/
C/C++的64位整型
計算機技術 Add comments4,177 views在C/C++中,64为整型一直是一种没有确定规范的数据类型。现今主流的编译器中,对64为整型的支持也是标准不一,形态各异。一般来说,64位整型的定义方式有long long和__int64两种(VC还支持_int64),而输出到标准输出方式有printf(“%lld”,a),printf(“%I64d”,a),和cout << a三种方式。
本文讨论的是五种常用的C/C++编译器对64位整型的支持,这五种编译器分别是gcc(mingw32),g++(mingw32),gcc(linux i386),g++(linux i386),Microsoft Visual C++ 6.0。可惜的是,没有一种定义和输出方式组合,同时兼容这五种编译器。为彻底弄清不同编译器对64位整型,我写了程序对它们进行了评测,结果如下表。
上表中,正确指编译通过,运行完全正确;错误指编译虽然通过,但运行结果有误;无法编译指编译器根本不能编译完成。观察上表,我们可以发现以下几点:
- long long定义方式可以用于gcc/g++,不受平台限制,但不能用于VC6.0。
- __int64是Win32平台编译器64位长整型的定义方式,不能用于Linux。
- “%lld”用于Linux i386平台编译器,”%I64d”用于Win32平台编译器。
- cout只能用于C++编译,在VC6.0中,cout不支持64位长整型。
0 0
- 解决typedef unsigned long long DDWORD; 在VC下编译不过问题。
- 解决typedef unsigned long long DDWORD; 在VC下编译不过问题。
- 解决typedef unsigned long long DDWORD; 在VC下编译不过问题。
- 解决typedef unsigned long long DDWORD; 在VC下编译不过问题
- boj 1328 简单问题 不过要考虑输入大小 long long可以 不过VC++不能编译
- unsigned long long的问题
- unsigned long的问题
- (菜鸟级别)解决用VC创建新线程易出的问题error C2664: 'CreateThread' : cannot convert parameter 3 from 'unsigned long (void *)' to 'unsigned long (_
- typedef unsigned long (__stdcall *THREADFUNC)(void *)
- unsigned long
- unsigned long
- unsigned long
- unsigned long
- int,long int, unsigned int,unsigned long int,long long的表示范围问题(转)
- long long unsigned long long 的最大值最小值在不同平台测试
- unsigned long unsigned int unsigned
- 【C++学习】关于unsigned long long的输出问题
- unsigned char _interlockedbittestandset(long volatile *a, long b)问题
- 生病不爽呢
- POJ-1930-Dead Fraction
- iOS基础 -- UIPickerView
- undo异常总结和恢复思路
- 让easyUI TAB页随页面内的按钮事件变化
- 解决typedef unsigned long long DDWORD; 在VC下编译不过问题。
- FZU2154 Problem 2154 YesOrNo
- Apache2.2 Tomcat6.0.36 64位集群
- 键盘技巧系列——Keil uVision4
- 培养阅读习惯的六个建议
- 多线程和网络通信实现的简单文件下载
- C# 邮箱批量注册 设计思路
- 尝试在C++里实现 Java 的 synchronized 关键字
- 亲仔一号加盟骗子