PlatformSpecific.h
上传用户:smh666999
上传日期:2007-01-14
资源大小:553k
文件大小:2k
源码类别:

BREW编程

开发平台:

Visual C++

  1. #ifndef PS_H
  2. #define PS_H
  3. typedef unsigned int UINT;
  4. #define BREW 
  5. #ifdef BREW
  6. #include <aeestdlib.h>
  7. inline void* operator new(UINT size)
  8. {
  9. return MALLOC(size);
  10. }
  11. inline void operator delete(void * ptr)
  12. {
  13. FREE(ptr);
  14. }
  15. inline void* operator new[](UINT size)
  16. {
  17. return MALLOC(size);
  18. }
  19.  
  20. inline void operator delete[](void * ptr)
  21. {
  22. FREE(ptr);
  23. }
  24. #ifndef STRUPPER
  25. extern "C" bool isLower(char c);
  26. static bool isUpper(char c)
  27. {
  28. return (c <91) && (c >64);
  29. }
  30. static char toUpper(char c)
  31. {
  32. if (!isUpper(c) && isLower(c))
  33. return c - 32;
  34. return c;
  35. }
  36. static void STRUPPER(char* s)
  37. {
  38. while(*s)
  39. {
  40. *s = toUpper(*s);
  41. s++;
  42. }
  43. }
  44. #endif
  45. #ifndef STRLOWER
  46. static bool isLower(char c)
  47. {
  48. return c <123 && c >96;
  49. }
  50. static char toLower(char c)
  51. {
  52. if (!isLower(c) && isUpper(c))
  53. return c + 32;
  54. return c;
  55. }
  56. static void STRLOWER(char* s)
  57. {
  58. while(*s)
  59. {
  60. *s = toLower(*s);
  61. s++;
  62. }
  63. }
  64. #endif
  65. #else
  66. #include <stdlib.h>
  67. #define MALLOC malloc
  68. #define FREE free
  69. #define STRCMP strcmp
  70. #define STRNCMP strncmp
  71. #define STRLEN strlen
  72. #define STRSTR strstr
  73. #define STRCPY strcpy
  74. #define STRNCPY strncpy
  75. #define STRCAT strcat
  76. #define STRCHR strchr
  77. #define STRLOWER strlwr
  78. #define STRUPPER strupr
  79. #define MEMCPY memcpy
  80. #define MEMMOVE memmove
  81. #define SPRINTF sprintf
  82. #endif
  83. template <int v>
  84. struct Int2Type
  85. {
  86. enum {value = v};
  87. };
  88. template <class T>
  89. struct Type2Type
  90. {
  91. typedef T TYPE;
  92. };
  93. #endif