解决typedef unsigned long long DDWORD; 在VC下编译不过问题。
来源:互联网 发布:淘宝牛仔裤店铺推荐女 编辑:程序博客网 时间:2024/04/30 03:58
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)问题
- uint8_t uint16_t
- 普通用户执行su却出现operation not permitted的解决办法
- 对一些数据类型的概念说明
- hdu 1272 小希的迷宫
- oracle数据库知识
- 解决typedef unsigned long long DDWORD; 在VC下编译不过问题。
- JQUERY EASYUI 可折叠标签(ACCORDION)用法
- js清空form表单中的内容
- ORACLE 执行计划
- Remote Scripting进阶教程---远程执行服务器脚本
- dwg文件怎么打开?dwg文件用什么打开?
- cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
- CentOS下安装git
- wince中使用SQLite