global.h
上传用户:jmzj888
上传日期:2007-01-02
资源大小:220k
文件大小:2k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
  2.    This file is public domain and comes with NO WARRANTY of any kind */
  3. /*
  4.   This is the main include file that should included 'first' in every program.
  5.   It contains includes for two system dependent files. One for a the operating
  6.   system (s-) and one for the processor (m-).
  7.   For a list of what a machine and a operatings system must have se the
  8.   standard s- and m- files.
  9.  */
  10. #ifndef _global_h
  11. #define _global_h
  12. #if defined(_lint) && !defined(lint)
  13. #define lint
  14. #endif
  15. #if defined(WIN32) && !defined(WINVER)
  16. #define WINVER 0x0400 /* prevent Windows 3.1 feature usage */
  17. #include <windows.h>
  18. #include <windowsx.h>
  19. #endif
  20. #ifndef stdin
  21. #include <stdio.h> /* Include so that m- and s- files can fix things */
  22. #endif
  23. #include <m-pc.h>
  24. #include <s-msdos.h>
  25. #ifdef USES_TYPES
  26. #include <sys/types.h>
  27. #endif
  28. #if defined(DBUG_ON) && defined(DBUG_OFF)
  29. #undef DBUG_OFF
  30. #endif
  31. #if defined(lint) && !defined(DBUG_OFF)
  32. #define DBUG_OFF
  33. #endif
  34. #include <dbug.h>
  35. /* Define void to stop lint from generating "null effekt" comments */
  36. #if defined(lint) || defined(FORCE_INIT_OF_VARS)
  37. #define LINT_INIT(var) var=0 /* No uninitialize-warning */
  38. #else
  39. #define LINT_INIT(var)
  40. #endif
  41. /* Define som useful general macros */
  42. #if defined(__cplusplus) && defined(__GNUG__)
  43. #define max(a, b) ((a) >? (b))
  44. #define min(a, b) ((a) <? (b))
  45. #else
  46. #define max(a, b) ((a) > (b) ? (a) : (b))
  47. #define min(a, b) ((a) < (b) ? (a) : (b))
  48. #endif
  49. #define sgn(a) (((a) < 0) ? -1 : ((a) > 0) ? 1 : 0)
  50. #define swap(t,a,b) { register t dummy; dummy = a; a = b; b = dummy; }
  51. #define test(a) ((a) ? 1 : 0)
  52. #define set_if_bigger(a,b)  { if ((a) < (b)) (a)=(b); }
  53. #define set_if_smaller(a,b) { if ((a) > (b)) (a)=(b); }
  54. #define test_all_bits(a,b) (((a) & (b)) == (b))
  55. #define array_elements(A) ((uint) (sizeof(A)/sizeof(A[0])))
  56. /* Define som general constants */
  57. #ifndef TRUE
  58. #define TRUE (1) /* Logical true */
  59. #define FALSE (0) /* Logical false */
  60. #endif
  61. #ifdef __GNUC__
  62. #define function_volatile volatile
  63. #ifndef alloca
  64. #define alloca __builtin_alloca
  65. #endif
  66. #ifdef __cplusplus
  67. #define __attribute__(A)
  68. #endif
  69. #else
  70. #define __attribute__(A)
  71. #endif
  72. #endif /* _global_h */