欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


ubuntu下的terminal快捷方式大全
linux分卷压缩与解压缩
如何设置win7桌面图标禁止更改功能
解决Zimbra邮件服务器的过期办法
关于Windows系统密码的讲解
如何彻底删除Win7系统顽固程序残留文件
win7电脑不能待机怎么办?
解决开机按F1才能进入系统的问题,一劳永逸。
风铃手机页面审核功能介绍
win7电脑如何在视频的时候禁止屏保弹出来?
Linux下定义Windows常用数据类型
【 来源:网络 】【 点击:1 】 【 发布时间:2017_03_03 08:59:59 】

  将一个Windows程序移植到Linux上,发现两个操作系统对很多数据类型的命名方式区别很大,比如Windows下对于无符号数据类型一般用U+x的方式,像UINT、UCHAR、ULONG,而Linux上就要中规中矩,都是unsigned +x;另外,还有一些数据类型是Windows有,而Linux没有的,像DWORD、HANDLE、LPSTR等等。于是我写了一个Windows数据类型在Linux下进行转换的头文件

	
<p>
	#define INVALID_HANDLE_VALUE -1
</p>
<p>
	#define _MAX_PATH 260 /* max. length of full pathname */
</p>
<p>
	#define HANDLE int
</p>
<p>
	#define MAX_PATH 260
</p>
<p>
	#define TRUE true
</p>
<p>
	#define FALSE false
</p>
<p>
	#define __stdcall
</p>
<p>
	#define __declspec(x)
</p>
<p>
	#define __cdecl
</p>
<p>
	#define max(a,b) (((a) > (b)) ? (a) : (b))
</p>
<p>
	#define min(a,b) (((a) < (b)) ? (a) : (b))
</p>
<p>
	typedef int BOOL;
</p>
<p>
	typedef unsigned char BYTE;
</p>
<p>
	typedef float FLOAT;
</p>
<p>
	typedef FLOAT *PFLOAT;
</p>
<p>
	typedef char CHAR;
</p>
<p>
	typedef unsigned char UCHAR;
</p>
<p>
	typedef unsigned char *PUCHAR;
</p>
<p>
	typedef short SHORT;
</p>
<p>
	typedef unsigned short USHORT;
</p>
<p>
	typedef unsigned short *PUSHORT;
</p>
<p>
	typedef long LONG;
</p>
<p>
	typedef unsigned short WORD;
</p>
<p>
	typedef unsigned long DWORD;
</p>
<p>
	typedef long long LONGLONG;
</p>
<p>
	typedef unsigned long long ULONGLONG;
</p>
<p>
	typedef ULONGLONG *PULONGLONG;
</p>
<p>
	typedef unsigned long ULONG;
</p>
<p>
	typedef int INT;
</p>
<p>
	typedef unsigned int UINT;
</p>
<p>
	typedef unsigned int *PUINT;
</p>
<p>
	typedef void VOID;
</p>
<p>
	typedef char *LPSTR;
</p>
<p>
	typedef const char *LPCSTR;
</p>
<p>
	typedef wchar_t WCHAR;
</p>
<p>
	typedef WCHAR *LPWSTR;
</p>
<p>
	typedef const WCHAR *LPCWSTR;
</p>
<p>
	typedef DWORD *LPDWORD;
</p>
<p>
	typedef unsigned long UINT_PTR;
</p>
<p>
	typedef UINT_PTR SIZE_T;
</p>
<p>
	typedef LONGLONG USN;
</p>
<p>
	typedef BYTE BOOLEAN;
</p>
<p>
	typedef void *PVOID;
</p>
<p>
	typedef struct _FILETIME {
</p>
<p>
	DWORD dwLowDateTime;
</p>
<p>
	DWORD dwHighDateTime;
</p>
<p>
	} FILETIME;
</p>
<p>
	typedef union _ULARGE_INTEGER {
</p>
<p>
	struct {
</p>
<p>
	DWORD LowPart;
</p>
<p>
	DWORD HighPart;
</p>
<p>
	};
</p>
<p>
	struct {
</p>
<p>
	DWORD LowPart;
</p>
<p>
	DWORD HighPart;
</p>
<p>
	} u;
</p>
<p>
	ULONGLONG QuadPart;
</p>
<p>
	} ULARGE_INTEGER,
</p>
<p>
	*PULARGE_INTEGER;
</p>

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站