跨平台数据类型定义

原创 2013年12月04日 11:44:05
#if (defined _WIN32) || (defined _WINDOWS_)
#include <afxwin.h>         // MFC 核心组件和标准组件
#else
#include <stdint.h>
typedef uint8_t UINT8;
typedef uint16_t UINT16;
typedef uint32_t UINT32;
typedef uint64_t  UINT64;
typedef int64_t INT64;
typedef unsigned char byte;
typedef unsigned char BYTE;
typedef long LONG;
typedef unsigned long ULONG;
typedef unsigned short WORD;
typedef unsigned long DWORD;
typedef unsigned long  DWORD_PTR;

typedef void * LPVOID;
typedef void *HANDLE;
typedef void * HWND;

typedef long BOOL;
#define TRUE 1
#define FALSE 0

typedef unsigned char UINT8, *PUINT8;
typedef unsigned int UINT;
typedef char _TCHAR;
typedef const char *LPCTSTR;
typedef const char *LPCSTR;
typedef char * PCHAR;
typedef unsigned char UCHAR;
typedef unsigned short USHORT;
typedef DWORD *PDWORD;
typedef BYTE *PBYTE;
typedef wchar_t *LPWSTR;



#define _T(x) x
#define _tcsncicmp strncasecmp
#define _tcsnccmp strncmp
#define _tcschr strchr
#define _tcslen strlen
#define _tclen(p) 1
#define _tcsncpy strncpy
#define _tcscpy strcpy
#define _tccpy(p1,p2) *(p1)=*(p2)
#define _tcstol strtol
#define _tcsncmp strncmp
#define _stprintf sprintf
#define _tcsstr strstr
#define _tfopen fopen
#define _ttoi atoi
#define sprintf_s sprintf
#define sscanf_s sscanf
#define vsprintf_s vsprintf
#define LOWORD(l)           ((WORD)((unsigned long)(l) & 0xffff))
#define HIWORD(l)           ((WORD)((unsigned long)(l) >> 16))

#define Sleep(x) usleep((x) * 1000)
#define MAKELONG(a, b) ((LONG)(((WORD)((DWORD)(a) & 0xffff)) | ((DWORD)((WORD)((DWORD)(b) & 0xffff))) << 16))
#define MAKEWORD(a, b) ((WORD)(((BYTE)(a)) | ((WORD)((BYTE)(b))) << 8))
#define    MAKEUINT16(a, b)         (  (UINT16) ( ((BYTE)((DWORD_PTR)(a) & 0xff)) | ((UINT16)((BYTE)((DWORD_PTR)(b) & 0xff))) << 8 )  )
#define    MAKEUINT32(a, b, c, d)   (  (UINT32) ( ((BYTE)((DWORD_PTR)(a) & 0xff)) | ((UINT32)((BYTE)((DWORD_PTR)(b) & 0xff))) << 8 |  ((UINT32)((BYTE)((DWORD_PTR)(c) & 0xff)) ) << 16  |  ((UINT32)((BYTE)((DWORD_PTR)(d) & 0xff)) ) << 24  ) )
 
#endif


linux平台数据类型

看着beantalked 很多种数据类型,于是从外网上查到血多数据类型总结一下   一些为了跨平台的数据类型,使用了很奇怪的类型,所以,包了一个头文件 16位平台 char       1...

跨平台C/C++数据类型定义

1       需考虑问题 1.1    编译器运行操作系统 l        WINDOWS :  _WIN32、WIN32; l        UNIX/LINUX:  unix...

glibc之数据类型定义分析

  本文主要涉及到的库文件位于/usr/include/bits目录下,文件包括wordsize.h,types.h,typesizes.h 等文件。  wordsize.h中主要定义了当前机器的字大...

STM32 数据类型定义

unsigned int 8、uint8_t 、u8等三种数据变量定义方式均表示——无符号的8位整形数据。 volatile作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。...

struct sockaddr_in等Socket编程相关数据类型定义

计算机数据存储有两种字节优先顺序:高位字节优先和低位字节优先。Internet上数据以高位字节优先顺序在网络上传输,所以对于在内部是以低位字节优先方式存储数据的机器,在Internet上传输数据时就需...

ODBC数据类型定义 | from web

转载自:http://www.cppblog.com/prayer/archive/2009/04/02/78719.html   在使用ODBC开发时一个重要的问题就是数据转换的问题,在OD...

C++: 为数据类型定义别名的方式

C++: 为数据类型定义别名的方式标签: C++ 定义别名 #define typedefby 小威威在C++中,为数据类型定义别名有两种方式:第一种就是用宏定义(#define),第二种方法就是用...
  • linwh8
  • linwh8
  • 2016年03月17日 23:56
  • 1359
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:跨平台数据类型定义
举报原因:
原因补充:

(最多只允许输入30个字)