⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sizedef.h

📁 md5和sha-2的源码
💻 H
字号:
/** #################################################
    SizeDef.H 
注意:	不同的C/C++ 编译器内建有不同的字长定义,使用不同的
	编译器时应该注意要修改重定义字长大小。VC7.0 以下不支持
	C99的long long数据类型,需要将其改为 __int64

描述:	使用类型定义重新定义统一的字长,与数据类型相关
	的编译程序中使用数据模型有以下:
	LP64 -- 地址长度为64位,int 为32位,long为64位
	ILP64 --地址长度为64位,int 为64位,long为64位
	LLP64 --地址长度为64位,但int,long定义为32位
	ILP32 --地址长度为32位,int,long为32位
	LP32 --地址长度为32位,int为32位,没有long
      
        重新定义为以下:
	SZ_UBYTE? -- 1,2,4,8 代表分别占用多少字节的数据类型
        SZ_BYTE?  -- 1,2,4,8 
        SZ_UCHAR / SZ_CHAR -- 1 字节大小
	SZ_USHORT / SZ_SHORT -- 2 字节大小
	SZ_ULONG / SZ_LONG -- 4 字节大小
	SZ_UPTR / SZ_PTR -- 地址字长大小
	SZ_FLOAT -- 4 字节浮点型 IEEE 浮点数
	SZ_DOUBLE -- 8字节精度小数 IEEE 浮点数 4:192:9
 ####################################################
*/


#ifndef _SIZEDEF_H
#define _SIZEDEF_H 1

#define DATAMOD_ILP32  1


#ifdef DATAMOD_LP64 
	/** int 为32位,long = Pointer = 64位 */

	typedef unsigned char SZ_UBYTE1;
	typedef unsigned short SZ_UBYTE2;
	typedef signed char SZ_BYTE1;
	typedef signed short SZ_BYTE2;

	typedef float SZ_FLOAT;
	typedef double SZ_DOUBLE;
	typedef unsigned char SZ_UCHAR;
	typedef signed char SZ_CHAR;
	typedef unsigned short SZ_USHORT;
	typedef signed short SZ_SHORT;
	typedef signed short SZ_WCHAR;
	typedef unsigned short SZ_UWCHAR;

	typedef unsigned int SZ_UBYTE4;
	typedef signed int SZ_BYTE4;
	typedef unsigned long SZ_UBYTE8;
	typedef signed long SZ_BYTE8;

	typedef unsigned int SZ_UINT;
	typedef signed int SZ_INT;
	typedef unsigned long SZ_ULONG;
	typedef signed long SZ_LONG;

	typedef unsigned long SZ_UPTR;
	typedef signed long SZ_PTR;
	typedef unsigned long SZ_URESULT;
	typedef signed long SZ_RESULT;
	typedef unsigned long SZ_UT;
	typedef signed long SZ_T;

#elif DATAMOD_ILP64 	
	/*  int 是 64位, long 为 64位 */

	typedef unsigned char SZ_UBYTE1;
	typedef unsigned short SZ_UBYTE2;
	typedef signed char SZ_BYTE1;
	typedef signed short SZ_BYTE2;

	typedef float SZ_FLOAT;
	typedef double SZ_DOUBLE;
	typedef unsigned char SZ_UCHAR;
	typedef signed char SZ_CHAR;
	typedef unsigned short SZ_USHORT;
	typedef signed short SZ_SHORT;
	typedef signed short SZ_WCHAR;
	typedef unsigned short SZ_UWCHAR;

	typedef unsigned int SZ_UBYTE4;
	typedef signed int SZ_BYTE4;
	typedef unsigned long SZ_UBYTE8;
	typedef signed long SZ_BYTE8;

	typedef unsigned int SZ_UINT;
	typedef signed int SZ_INT;
	typedef unsigned long SZ_ULONG;
	typedef signed long SZ_LONG;

	typedef unsigned long SZ_UPTR;
	typedef signed long SZ_PTR;
	typedef unsigned long SZ_UT;
	typedef signed long SZ_T;

#elif DATAMOD_LLP64 
	/* int 为 32位,long 为 32位 */

	typedef unsigned char SZ_UBYTE1;
	typedef unsigned short SZ_UBYTE2;
	typedef signed char SZ_BYTE1;
	typedef signed short SZ_BYTE2;

	typedef float SZ_FLOAT;
	typedef double SZ_DOUBLE;
	typedef unsigned char SZ_UCHAR;
	typedef signed char SZ_CHAR;
	typedef unsigned short SZ_USHORT;
	typedef signed short SZ_SHORT;
	typedef signed short SZ_WCHAR;
	typedef unsigned short SZ_UWCHAR;

	typedef unsigned int SZ_UBYTE4;
	typedef signed int SZ_BYTE4;
	typedef unsigned long long SZ_UBYTE8; /* 可能实现中将其定义更大 */
	typedef signed long long SZ_BYTE8;

	typedef unsigned int SZ_UINT;
	typedef signed int SZ_INT;
	typedef unsigned long long SZ_ULONG;
	typedef signed long long SZ_LONG;
	
	typedef unsigned long long SZ_UPTR;
	typedef signed long long SZ_PTR;
	typedef unsigned long long SZ_UT;
	typedef signed long long SZ_T;

#elif DATAMOD_ILP32 
	/* int 为 32位, long 为32 位 */
	typedef unsigned char SZ_UBYTE1;
	typedef unsigned short SZ_UBYTE2;
	typedef signed char SZ_BYTE1;
	typedef signed short SZ_BYTE2;

	typedef float SZ_FLOAT;
	typedef double SZ_DOUBLE;
	typedef unsigned char SZ_UCHAR;
	typedef signed char SZ_CHAR;
	typedef unsigned short SZ_USHORT;
	typedef signed short SZ_SHORT;
	typedef signed short SZ_WCHAR;
	typedef unsigned short SZ_UWCHAR;


	typedef unsigned int SZ_UBYTE4;
	typedef signed int SZ_BYTE4;
	typedef unsigned long long  SZ_UBYTE8; /* 可能实现中将其定义更大 */
	typedef signed long long SZ_BYTE8;

	typedef unsigned int SZ_UINT;
	typedef signed int SZ_INT;
	typedef unsigned long long SZ_ULONG;
	typedef signed long long SZ_LONG;

	typedef unsigned int SZ_UPTR;
	typedef signed int SZ_PTR;
	typedef unsigned long SZ_UT;
	typedef signed long SZ_T;

#else 
	/* DATAMOD_LP32 int 为 16位 */
	typedef unsigned char SZ_UBYTE1;
	typedef unsigned short SZ_UBYTE2;
	typedef signed char SZ_BYTE1;
	typedef signed short SZ_BYTE2;

	typedef float SZ_FLOAT;
	typedef double SZ_DOUBLE;
	typedef unsigned char SZ_UCHAR;
	typedef signed char SZ_CHAR;
	typedef unsigned short SZ_USHORT;
	typedef signed short SZ_SHORT;
	typedef signed short SZ_WCHAR;
	typedef unsigned short SZ_UWCHAR;

	typedef unsigned long SZ_UBYTE4;
	typedef signed long SZ_BYTE4;
	typedef unsigned long long SZ_UBYTE8; /* 可能实现中将其定义更大 */
	typedef signed long long int SZ_BYTE8;

	typedef unsigned int SZ_UPTR;
	typedef signed int SZ_PTR;

	typedef unsigned long SZ_UINT;
	typedef signed long SZ_INT;
	typedef unsigned long long SZ_ULONG; /** 16位系统可能不会用到,也没有这个内建关键字 */
	typedef signed long long SZ_LONG;
	typedef unsigned int SZ_UT;
	typedef signed int SZ_T;
#endif

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -