📄 std.h
字号:
/*
* Copyright 2000 by Texas Instruments Incorporated.
* All rights reserved. Property of Texas Instruments Incorporated.
* Restricted rights to use, duplicate or disclose this code are
* granted through contract.
* U.S. Patent Nos. 5,283,900 5,392,448
*/
/* "@(#) DSP/BIOS 4.00 03-17-00 (barracuda-e07)" */
/*
* ======== std.h ========
*
*/
#ifndef STD_
#define STD_
#ifdef _TMS320C2XX
#define _29_ 1
#endif
#ifdef _TMS320C30
#define _30_ 1
#endif
#ifdef _TMS320C40
#define _40_ 1
#endif
#ifdef _TMS320C50
#define _50_ 1
#endif
#ifdef _TMS320C5XX
#define _54_ 1
#endif
#ifdef _TMS320C55x
#define _55_ 1
#endif
#ifdef _TMS320C6200
#define _62_ 1
#endif
#ifdef _TMS320C6700
#define _67_ 1
#define _7d_ 1 /* alias for C6700 */
#endif
#ifdef M_I86
#define _86_ 1 /* Intel x86 */
#endif
#ifdef _MVP_MP
#define _80_ 1 /* TMS320C80 */
#endif
#ifdef _MVP_PP
#define _80_ 1 /* TMS320C80 PP */
#endif
#ifdef _WIN32
#define _W32_ 1 /* Windows WIN32 */
#endif
/*
* ======== _TI_ ========
* _TI_ is defined for all TI targets
*/
#if defined(_29_) || defined(_30_) || defined(_40_) || defined(_50_) || defined(_54_) || defined(_55_) || defined (_62_) || defined(_67_) || defined(_80_)
#define _TI_ 1
#endif
/*
* ======== _FLOAT_ ========
* _FLOAT_ is defined for all targets that natively support floating point
*/
#if defined(_SUN_) || defined(_30_) || defined(_40_) || defined(_67_) || defined(_80_)
#define _FLOAT_ 1
#endif /* _SUN_ || _30_ || _40_ || _67_ || _80_ */
/*
* ======== _FIXED_ ========
* _FIXED_ is defined for all fixed point target architectures
*/
#if defined(_29_) || defined(_50_) || defined(_54_) || defined(_55_) || defined (_62_)
#define _FIXED_ 1
#endif /* _29_ || _50_ || _54_ || _55_ || _62_ */
/*
* ======== _TARGET_ ========
* _TARGET_ is defined for all target architectures (as opposed to
* host-side software)
*/
#if defined(_FIXED_) || defined(_FLOAT_)
#define _TARGET_ 1
#endif /* _FIXED_ || _FLOAT_ */
/*
* 8, 16, 32-bit type definitions
*
* Sm* - 8-bit type
* Md* - 16-bit type
* Lg* - 32-bit type
*
* *Int - signed type
* *Uns - unsigned type
* *Bits - unsigned type (bit-maps)
*/
typedef char SmInt; /* SMSIZE-bit signed integer */
typedef short MdInt; /* MDSIZE-bit signed integer */
#if defined(_62_) || defined(_67_)
typedef int LgInt; /* LGSIZE-bit signed integer */
#else
typedef long LgInt; /* LGSIZE-bit signed integer */
#endif
typedef unsigned char SmUns; /* SMSIZE-bit unsigned integer */
typedef unsigned short MdUns; /* MDSIZE-bit unsigned integer */
#if defined(_62_) || defined(_67_)
typedef unsigned LgUns; /* LGSIZE-bit unsigned integer */
#else
typedef unsigned long LgUns; /* LGSIZE-bit unsigned integer */
#endif
typedef unsigned char SmBits; /* SMSIZE-bit bit string */
typedef unsigned short MdBits; /* MDSIZE-bit bit string */
#if defined(_62_) || defined(_67_)
typedef unsigned LgBits; /* LGSIZE-bit bit string */
#else
typedef unsigned long LgBits; /* LGSIZE-bit bit string */
#endif
/*
* Aliases for standard C types
*/
typedef short Int; /* for those rare occasions */
typedef long int Long;
typedef short int Short;
typedef char Char;
#define Void void
typedef char * String; /* pointer to null-terminated character
* sequence
*/
#if defined(_29_) || defined(_50_) || defined(_54_) || defined(_55_) || defined(_62_) || defined(_67_)
typedef unsigned Uns;
#else
typedef unsigned long Uns;
#endif
#if defined(_80_)
typedef int Bool; /* boolean */
#elif defined(_W32_)
typedef long Bool; /* boolean to match Windows boolean def */
#else
typedef MdUns Bool; /* boolean */
#endif
typedef SmBits Byte; /* smallest unit of addressable store */
typedef void *Ptr; /* pointer to arbitrary type */
/* Arg should be size of Ptr */
#if defined(M_I86SM) || defined(_29_) || defined(_50_) || defined(_54_) || defined(_55_) || defined(_62_) || defined(_67_)
typedef Int Arg;
#else
typedef LgInt Arg; /* uninterpreted LGSIZE-bit word */
#endif
typedef Int (*Fxn)(); /* generic function type */
#if defined(_80_) || defined(_SUN_) || defined(_67_)
typedef float Float;
#else
typedef double Float;
#endif /* _80_ || _SUN_ || _67_ */
#ifndef NULL
#define NULL 0
#endif
#ifndef TRUE
#define FALSE ((Bool)0)
#define TRUE ((Bool)1)
#endif
/*
* ======== __inline ========
* The following definitions define the macro __inline for those
* C compilers that do not use __inline to indicate inline
* expansion of functions.
*
* The TI C compilers support the "inline" keyword (ala C++). Both
* Microsoft and GNU C compilers support the "__inline" keyword. The
* native SUN OS 4.x C compiler doesn't understand either.
*/
#ifdef _TI_
#ifdef _LINT_
#define __inline
#else
#define __inline inline
#endif
#endif
#ifdef _SUN4_
#define __inline
#endif
/*
* ======== inline ========
* Define "inline" so that all C code can optionally use the "inline"
* keyword.
*/
#if !defined(inline) && !defined(__cplusplus) && !defined(_TI_)
#define inline __inline
#endif
#endif /* STD_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -