/*
* IrrTypes.h
*
* Created on: 2010-10-11
* Author: Mido
* 自定义数据类型
* - C++系列语言可以重定义数据类型。
* - Java系列语言可以翻译成目标数据类型。
* - 各平台基础数据类型不同。
*/
#ifndef IRRTYPES_H_
#define IRRTYPES_H_
#include "IrrCompileConfig.h"
//! Symbian C++数据类型使用到的头文件,不同平台包含不同头文件。
#ifdef __SYMBIAN_OS__
#include<e32base.h> // for Symbian C++基础数据类型, 如: HBufC
#include<stdlib.h> // for C++标准数据类型, 如: wchar_t
#endif
namespace irrlight
{
//! C++版本的数据类型
#if defined(__CPP_VER__)
//! 8位无符号
typedef unsigned char u8;
//! 8位有符号
typedef signed char s8;
//! 8位字符
typedef char c8;
//! 16位无符号
typedef unsigned short u16;
//! 16位有符号
typedef signed short s16;
//! 32位无符号
typedef unsigned int u32;
//! 32位有符号
typedef signed int s32;
// 64位有符号
typedef __int64 s64;
//! 32位单精度
typedef float f32;
//! 64位双精度
typedef double f64;
/*************** Mido start ************************/
//! 2010.9.28
//! 布尔类型
typedef bool b1;
//! 布尔值
#define bt true
#define bf false
//! 无类型
typedef void any;
//! 空值
#define null 0
//! 16位字符
typedef wchar_t c16;
//! 安全删除指针、数组
#define SafeDelete(x) if(x!=null){delete x; x=null;}
#define SafeDeleteArray(x) if(x!=null){delete[] x; x=null;}
/********************** end ************************/
#elif defined(__JAVA_VER__)
// Java版本的数据类型
#elif defined(__DOTNET_VER__)
// DotNet版本数据类型
#endif
} // end namespace IrrLight
#endif /* IRRTYPES_H_ */
本文来自:鬼火神灯 - irrlight.com