Defining common Windows Data Types in Linux

Source: Internet
Author: User

Recently, I transplanted a Windows program to Linux and found that the two operating systems have different naming methods for many data types, for example, in windows, the unsigned data types are generally U + X, such as uint, uchar, and ulong. in Linux, the unsigned + X is required, some other data types are available in windows, but not in Linux, such as DWORD, handle, and lpstr. So I wrote a Windows data type conversion header file in Linux and pasted it here for your learning and reference!

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

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.