Linux下定義Windows常用資料類型

來源:互聯網
上載者:User

  將一個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>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.