易截截图软件、单文件、免安装、纯绿色、仅160KB

C/C++的64位整型 不同编译器间的比较


//为了和DSP兼容,TSint64和TUint64设置成TSint40和TUint40一样的数  
//结果VC中还是认为是32位的,显然不合适  
//typedef signed long int     TSint64;  
//typedef unsigned long int   TUint64;  
  
//ANSI C中规定long long才能表示64位  
//参见:http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx  
//可惜VC++ 6.0 不认识 long long,会报error C2632: 'long' followed by 'long' is illegal  
  
typedef signed long long     TSint64;//It's illegal in C90. It's legel in C99.  
typedef unsigned long long   TUint64;  
  
//typedef LONGLONG    TSint64;//VC不认  
//typedef ULONGLONG   TUint64;  
zz from http://www.byvoid.com/blog/c-int64/
在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位整型,我写了程序对它们进行了评测,结果如下表。
变量定义输出方式gcc(mingw32)g++(mingw32)gcc(linux i386)g++(linux i386)MicrosoftVisual C++ 6.0
long long
“%lld”
错误
错误
正确
正确
无法编译
long long
“%I64d”
正确
正确
错误
错误
无法编译
__int64
“lld”
错误
错误
无法编译
无法编译
错误
__int64
“%I64d”
正确
正确
无法编


相关文档:

C程序使用不同函数调用约定调用汇编子过程

如转载,请注明出处:http://blog.csdn.net/zhangyang0402/archive/2010/05/01/5549266.aspx
 
开发工具:VC ++ 6.0  MASM32
 
一、__cdecl调用方式
 
1.  在VC中新建Win32 Console Application, TestASM
 
2.  新建test.c
#include<stdio.h>
extern void swap(int * ......

c/c++类型

1.分类
 内部类型 和用户定义类型
2.
 整形:bool ,字符型,整形
   true  1                   flase 0
   非零 true              & ......

C Language: A Example of Print Snake Matrix


// SnakeMatrix.cpp : Defines the entry point for the console application.
// Create by Xianyi.Ye, May 4,2010
#include "stdafx.h"
#include <iostream.h>
/*
Question: Print a Sanke Matrix as following
i\j 1 2 3 4 5 6
1 1 2 9 10 25 26
2 4 3 8 11 24 27
3 5 6 7 12 23 28
4 16 15 14 ......

打开IE说无法找到脚本文件【C:Progeam Files\*】

今天发现电脑出现莫名奇妙的问题,任务栏的图标都无法使用了。而且注册表也无法使用。
处理方法:
一、先解锁注册表。此步骤后可以正常访问修改注册表。
http://zhidao.baidu.com/question/8109053.html?fr=ala0
注册表被管理员停用,
1、新建一个文本文件,在其中输入以下内容。
[HKEY_CURRENT_USER/Software/Micro ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号