跨平台数据类型定义

原创 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


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

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

1       需考虑问题 1.1    编译器运行操作系统 l        WINDOWS :  _WIN32、W...

MD5的C++源码

md5.h: [cpp] view plaincopy #ifndef MD5_H   #define MD5_H      #include...

Linux内核数据类型及跨平台

一、内核对象数据类型 1.1 C语言类型 1.2 确定大小的类型 1.3

定义跨平台的数据类型

我们可以这样定义,用int8_t来代替char类型 #if !(__linux__) typedef signed char int8_t; typedef short ...

Extjs嵌套数据类型定义和显示 (二)

在前一篇文章中,讲解了嵌套数据的模型定义,本篇文章主要讲解怎样在Ext.grid.Panel中显示嵌套的数据。 需求描述: 在Ext.grid.Panel中把定义的Project显示出来,...

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

C++: 为数据类型定义别名的方式标签: C++ 定义别名 #define typedefby 小威威在C++中,为数据类型定义别名有两种方式:第一种就是用宏定义(#define),第二种方法就是用...
  • linwh8
  • linwh8
  • 2016-03-17 23:56
  • 1189

抽象数据类型定义(ADT)

一、抽象数据类型定义(ADT) 作用:抽象数据类型可以使我们更容易描述现实世界。例:用线性表描述学生成绩表,用树或图描述遗传关系。 定义:一个数学模型以及定义在该模型上的一组操作。 关键:使...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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