📄 target.h
字号:
#ifndef MP_TARGET_H#define MP_TARGET_H/* * mpatrol * A library for controlling and tracing dynamic memory allocations. * Copyright (C) 1997-2002 Graeme S. Roy <graeme.roy@analog.com> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free * Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307, USA. *//* * Target definitions. These are automatically deduced from the * preprocessor macros defined by the compiler on the host system, * but they can also be overridden. *//* * $Id: target.h,v 1.38 2002/01/08 20:13:59 graeme Exp $ */#ifdef HAVE_CONFIG_H#include "configure.h"#endif /* HAVE_CONFIG_H *//* The target operating system. This determines how the mpatrol library * should interact with the underlying system, and how it should work around * deficiencies in some operating systems. */#define TARGET_ANY 0 /* no specific operating system */#define TARGET_UNIX 1 /* UNIX or UNIX-like */#define TARGET_AMIGA 2 /* Commodore AmigaOS */#define TARGET_WINDOWS 3 /* Microsoft Windows 95/98/ME/NT/2000 */#define TARGET_NETWARE 4 /* Novell Netware */#ifndef TARGET#if defined(unix) || defined(_unix) || defined(__unix) || defined(__unix__) || \ defined(AIX) || defined(_AIX) || defined(__AIX) || defined(__AIX__) || \ defined(__Lynx) || defined(__Lynx__)#define TARGET TARGET_UNIX#elif defined(AMIGA) || defined(_AMIGA) || defined(__AMIGA) || \ defined(__AMIGA__)#define TARGET TARGET_AMIGA#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32) || \ defined(__WIN32__)#define TARGET TARGET_WINDOWS#elif defined(NETWARE) || defined(_NETWARE) || defined(__NETWARE) || \ defined(__NETWARE__)#define TARGET TARGET_NETWARE#else /* TARGET */#define TARGET TARGET_ANY#endif /* TARGET */#endif /* TARGET *//* The string representation of the target operating system. */#if TARGET == TARGET_UNIX#define TARGET_STR "UNIX"#elif TARGET == TARGET_AMIGA#define TARGET_STR "Commodore AmigaOS"#elif TARGET == TARGET_WINDOWS#define TARGET_STR "Microsoft Windows 95/98/ME/NT/2000"#elif TARGET == TARGET_NETWARE#define TARGET_STR "Novell Netware"#else /* TARGET */#define TARGET_STR "Unknown"#endif /* TARGET *//* The UNIX system variant. This is only needed on UNIX systems due to the * wide variety of vendors and their UNIX systems that support different * features. */#define SYSTEM_ANY 0 /* no specific system */#define SYSTEM_AIX 1 /* AIX */#define SYSTEM_CYGWIN 2 /* Cygwin */#define SYSTEM_DGUX 3 /* DG/UX */#define SYSTEM_DRSNX 4 /* DRS/NX */#define SYSTEM_DYNIX 5 /* DYNIX/ptx */#define SYSTEM_FREEBSD 6 /* FreeBSD */#define SYSTEM_HPUX 7 /* HP/UX */#define SYSTEM_IRIX 8 /* IRIX */#define SYSTEM_LINUX 9 /* Linux */#define SYSTEM_LYNXOS 10 /* LynxOS */#define SYSTEM_NETBSD 11 /* NetBSD */#define SYSTEM_OPENBSD 12 /* OpenBSD */#define SYSTEM_SINIX 13 /* SINIX */#define SYSTEM_SOLARIS 14 /* Solaris */#define SYSTEM_SUNOS 15 /* SunOS */#define SYSTEM_TRU64 16 /* Compaq Tru64 / Digital UNIX / OSF/1 */#define SYSTEM_UNIXWARE 17 /* UnixWare */#ifndef SYSTEM#if TARGET == TARGET_UNIX#if defined(AIX) || defined(_AIX) || defined(__AIX) || defined(__AIX__)#define SYSTEM SYSTEM_AIX#elif defined(CYGWIN) || defined(_CYGWIN) || defined(__CYGWIN) || \ defined(__CYGWIN__)#define SYSTEM SYSTEM_CYGWIN#elif defined(DGUX) || defined(_DGUX) || defined(__DGUX) || defined(__DGUX__)#define SYSTEM SYSTEM_DGUX#elif defined(sequent) || defined(_sequent) || defined(__sequent) || \ defined(__sequent__) || defined(SEQUENT) || defined(_SEQUENT_)#define SYSTEM SYSTEM_DYNIX#elif defined(__FreeBSD) || defined(__FreeBSD__)#define SYSTEM SYSTEM_FREEBSD#elif defined(hpux) || defined(_hpux) || defined(__hpux) || defined(__hpux__)#define SYSTEM SYSTEM_HPUX#elif defined(sgi) || defined(_sgi) || defined(__sgi) || defined(__sgi__)#define SYSTEM SYSTEM_IRIX#elif defined(linux) || defined(_linux) || defined(__linux) || \ defined(__linux__)#define SYSTEM SYSTEM_LINUX#elif defined(__Lynx) || defined(__Lynx__)#define SYSTEM SYSTEM_LYNXOS#elif defined(__NetBSD) || defined(__NetBSD__)#define SYSTEM SYSTEM_NETBSD#elif defined(__OpenBSD) || defined(__OpenBSD__)#define SYSTEM SYSTEM_OPENBSD#elif defined(sinix) || defined(_sinix) || defined(__sinix) || \ defined(__sinix__) || defined(SNI) || defined(_SNI) || defined(__SNI) || \ defined(__SNI__)#define SYSTEM SYSTEM_SINIX#elif defined(sun) || defined(_sun) || defined(__sun) || defined(__sun__)#if defined(svr4) || defined(_svr4) || defined(__svr4) || defined(__svr4__) || \ defined(SVR4) || defined(_SVR4) || defined(__SVR4) || defined(__SVR4__)#define SYSTEM SYSTEM_SOLARIS#else /* svr4 */#define SYSTEM SYSTEM_SUNOS#endif /* svr4 */#elif defined(digital) || defined(_digital) || defined(__digital) || \ defined(__digital__) || defined(osf) || defined(_osf) || \ defined(__osf) || defined(__osf__)#define SYSTEM SYSTEM_TRU64#else /* SYSTEM */#define SYSTEM SYSTEM_ANY#endif /* SYSTEM */#else /* TARGET */#define SYSTEM SYSTEM_ANY#endif /* TARGET */#endif /* SYSTEM *//* The string representation of the UNIX system variant. */#if TARGET == TARGET_UNIX#if SYSTEM == SYSTEM_AIX#define SYSTEM_STR "AIX"#elif SYSTEM == SYSTEM_CYGWIN#define SYSTEM_STR "Cygwin"#elif SYSTEM == SYSTEM_DGUX#define SYSTEM_STR "DG/UX"#elif SYSTEM == SYSTEM_DRSNX#define SYSTEM_STR "DRS/NX"#elif SYSTEM == SYSTEM_DYNIX#define SYSTEM_STR "DYNIX/ptx"#elif SYSTEM == SYSTEM_FREEBSD#define SYSTEM_STR "FreeBSD"#elif SYSTEM == SYSTEM_HPUX#define SYSTEM_STR "HP/UX"#elif SYSTEM == SYSTEM_IRIX#define SYSTEM_STR "IRIX"#elif SYSTEM == SYSTEM_LINUX#define SYSTEM_STR "Linux"#elif SYSTEM == SYSTEM_LYNXOS#define SYSTEM_STR "LynxOS"#elif SYSTEM == SYSTEM_NETBSD#define SYSTEM_STR "NetBSD"#elif SYSTEM == SYSTEM_OPENBSD#define SYSTEM_STR "OpenBSD"#elif SYSTEM == SYSTEM_SINIX#define SYSTEM_STR "SINIX"#elif SYSTEM == SYSTEM_SOLARIS#define SYSTEM_STR "Solaris"#elif SYSTEM == SYSTEM_SUNOS#define SYSTEM_STR "SunOS"#elif SYSTEM == SYSTEM_TRU64#define SYSTEM_STR "Tru64"#elif SYSTEM == SYSTEM_UNIXWARE#define SYSTEM_STR "UnixWare"#else /* SYSTEM */#define SYSTEM_STR "Unknown"#endif /* SYSTEM */#else /* TARGET */#define SYSTEM_STR "N/A"#endif /* TARGET *//* The processor architecture. This defines families of compatible processors * from chip manufacturers rather than specific processor models. */#define ARCH_ANY 0 /* no specific architecture */#define ARCH_ALPHA 1 /* DEC Alpha */#define ARCH_IA64 2 /* Intel Itanium */#define ARCH_IX86 3 /* Intel 80x86 */#define ARCH_M68K 4 /* Motorola 680x0 */#define ARCH_M88K 5 /* Motorola 88xx0 */#define ARCH_MIPS 6 /* MIPS */#define ARCH_PARISC 7 /* HP PA/RISC */#define ARCH_POWER 8 /* IBM RS/6000 */#define ARCH_POWERPC 9 /* PowerPC */#define ARCH_SPARC 10 /* SPARC */#ifndef ARCH#if defined(ALPHA) || defined(_ALPHA) || defined(__ALPHA) || \ defined(__ALPHA__) || defined(alpha) || defined(_alpha) || \ defined(__alpha) || defined(__alpha__) || defined(_M_ALPHA)#define ARCH ARCH_ALPHA#elif defined(ia64) || defined(_ia64) || defined(__ia64) || \ defined(__a64__) || defined(IA64) || defined(_IA64) || \ defined(__IA64) || defined(__IA64__) || defined(_M_IA64)#define ARCH ARCH_IA64#elif defined(i386) || defined(_i386) || defined(__i386) || \ defined(__i386__) || defined(I386) || defined(_I386) || \ defined(__I386) || defined(__I386__) || defined(ix86) || \ defined(_ix86) || defined(__ix86) || defined(__ix86__) || \ defined(x86) || defined(_x86) || defined(__x86) || defined(__x86__) || \ defined(_M_IX86)#define ARCH ARCH_IX86#elif defined(m68k) || defined(_m68k) || defined(__m68k) || \ defined(__m68k__) || defined(mc68000) || defined(_mc68000) || \ defined(__mc68000) || defined(__mc68000__) || defined(M68000) || \ defined(_M68000) || defined(__M68000) || defined(__M68000__)#define ARCH ARCH_M68K#elif defined(m88k) || defined(_m88k) || defined(__m88k) || \ defined(__m88k__) || defined(m88000) || defined(_m88000) || \ defined(__m88000) || defined(__m88000__)#define ARCH ARCH_M88K#elif defined(mips) || defined(_mips) || defined(__mips) || \ defined(__mips__) || defined(_M_MRX000)#define ARCH ARCH_MIPS#elif defined(hppa) || defined(_hppa) || defined(__hppa) || defined(__hppa__)#define ARCH ARCH_PARISC#elif defined(POWER) || defined(_POWER) || defined(__POWER) || \ defined(__POWER__)#define ARCH ARCH_POWER#elif defined(ppc) || defined(_ppc) || defined(__ppc) || defined(__ppc__) || \ defined(powerpc) || defined(_powerpc) || defined(__powerpc) || \ defined(__powerpc__) || defined(POWERPC) || defined(_POWERPC) || \ defined(__POWERPC) || defined(__POWERPC__) || defined(_M_PPC)#define ARCH ARCH_POWERPC#elif defined(sparc) || defined(_sparc) || defined(__sparc) || \ defined(__sparc__)#define ARCH ARCH_SPARC#else /* ARCH */#define ARCH ARCH_ANY#endif /* ARCH */#endif /* ARCH *//* The string representation of the processor architecture. */#if ARCH == ARCH_ALPHA#define ARCH_STR "DEC Alpha"#elif ARCH == ARCH_IA64#define ARCH_STR "Intel Itanium"#elif ARCH == ARCH_IX86#define ARCH_STR "Intel 80x86"#elif ARCH == ARCH_M68K#define ARCH_STR "Motorola 680x0"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -