global.h
上传用户:jmzj888
上传日期:2007-01-02
资源大小:220k
文件大小:2k
- /* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
- This file is public domain and comes with NO WARRANTY of any kind */
- /*
- This is the main include file that should included 'first' in every program.
- It contains includes for two system dependent files. One for a the operating
- system (s-) and one for the processor (m-).
- For a list of what a machine and a operatings system must have se the
- standard s- and m- files.
- */
- #ifndef _global_h
- #define _global_h
- #if defined(_lint) && !defined(lint)
- #define lint
- #endif
- #if defined(WIN32) && !defined(WINVER)
- #define WINVER 0x0400 /* prevent Windows 3.1 feature usage */
- #include <windows.h>
- #include <windowsx.h>
- #endif
- #ifndef stdin
- #include <stdio.h> /* Include so that m- and s- files can fix things */
- #endif
- #include <m-pc.h>
- #include <s-msdos.h>
- #ifdef USES_TYPES
- #include <sys/types.h>
- #endif
- #if defined(DBUG_ON) && defined(DBUG_OFF)
- #undef DBUG_OFF
- #endif
- #if defined(lint) && !defined(DBUG_OFF)
- #define DBUG_OFF
- #endif
- #include <dbug.h>
- /* Define void to stop lint from generating "null effekt" comments */
- #if defined(lint) || defined(FORCE_INIT_OF_VARS)
- #define LINT_INIT(var) var=0 /* No uninitialize-warning */
- #else
- #define LINT_INIT(var)
- #endif
- /* Define som useful general macros */
- #if defined(__cplusplus) && defined(__GNUG__)
- #define max(a, b) ((a) >? (b))
- #define min(a, b) ((a) <? (b))
- #else
- #define max(a, b) ((a) > (b) ? (a) : (b))
- #define min(a, b) ((a) < (b) ? (a) : (b))
- #endif
- #define sgn(a) (((a) < 0) ? -1 : ((a) > 0) ? 1 : 0)
- #define swap(t,a,b) { register t dummy; dummy = a; a = b; b = dummy; }
- #define test(a) ((a) ? 1 : 0)
- #define set_if_bigger(a,b) { if ((a) < (b)) (a)=(b); }
- #define set_if_smaller(a,b) { if ((a) > (b)) (a)=(b); }
- #define test_all_bits(a,b) (((a) & (b)) == (b))
- #define array_elements(A) ((uint) (sizeof(A)/sizeof(A[0])))
- /* Define som general constants */
- #ifndef TRUE
- #define TRUE (1) /* Logical true */
- #define FALSE (0) /* Logical false */
- #endif
- #ifdef __GNUC__
- #define function_volatile volatile
- #ifndef alloca
- #define alloca __builtin_alloca
- #endif
- #ifdef __cplusplus
- #define __attribute__(A)
- #endif
- #else
- #define __attribute__(A)
- #endif
- #endif /* _global_h */