📄 ansiprot.h
字号:
/*************************************************************************
Copyright (c) 1999 Mentor Graphics Corporation.
IMPORTANT - USE OF THIS SOFTWARE IS SUBJECT TO LICENSE RESTRICTIONS
CAREFULLY READ THE LICENSE AGREEMENT BEFORE USING THE SOFTWARE
*************************************************************************/
/* ANSI C function prototype macros */
#ifndef ANSIPROT_H
#define ANSIPROT_H
/*
#ifdef __cplusplus
extern "C" {
#endif
*/
/* This header file, if included by an ANSI C header file,
* causes that header file to be non-ANSI conforming. This
* is because this header file pollutes the name space by
* using names which are reserved to the application. At
* some time in the future, this header file should be changed
* to use names from the space which is reserved to the implementation.
* This should be done in a two-stage process, first by adding
* duplicate new names, then converting all code to the new names,
* then deleting the old names. This will cause the minimal disruption.
*/
/* Microsoft C 6.0 doesn't define __STDC__ unless /Za option is specified */
#ifdef M_I86
#ifndef __STDC__
#define __STDC__ 1
#endif
#endif
/* Note the use of "#if __STDC__" instead of "#ifdef __STDC__".
* You will often see the latter used in programs, but this is
* incorrect. ANSI C specifies that an implementation
* conforms to the standard if and only if it defines __STDC__
* to be 1. It does not specify that a non-conforming implementation
* shall not define __STDC__. Most non-conforming implementations
* do not define __STDC__, however there are a few (for example,
* GNU gcc with option -traditional), which define __STDC__ to
* be 0. Thus only "#if __STDC__" is correct. For those concerned
* about the meaning of "#if __STDC__" when __STDC__ is undefined,
* both ANSI C and traditional C implementations treat an undefined
* macro as 0 in this context.
*/
/*** 4/14/93 Thomas Lee ***/
/*** Another set of definitions that started with _ANSIPROT are
provided for both cases (whether __STDC__ is 1 or not).
This is a transition stage to allow both ANSIPROT and
_ANSIPROT coexist. Eventually, the _ANSIPROT definitions
will replace the ANSIPROT definitions to meet the ANSI
comformance requirement as not messing up the application
name space.
***/
/* #if (__STDC__ || __cplusplus) */
#if __STDC__
#define ANSIPROT(args) args
#define ANSIPROT0 void
#define ANSIPROT1(a) a
#define ANSIPROT2(a,b) a,b
#define ANSIPROT3(a,b,c) a,b,c
#define ANSIPROT4(a,b,c,d) a,b,c,d
#define ANSIPROT5(a,b,c,d,e) a,b,c,d,e
#define ANSIPROT6(a,b,c,d,e,f) a,b,c,d,e,f
#define ANSIPROT7(a,b,c,d,e,f,g) a,b,c,d,e,f,g
#define ANSIPROT8(a,b,c,d,e,f,g,h) a,b,c,d,e,f,g,h
#define ANSIPROT9(a,b,c,d,e,f,g,h,i) a,b,c,d,e,f,g,h,i
#define ANSIPROT10(a,b,c,d,e,f,g,h,i,j) a,b,c,d,e,f,g,h,i,j
#define ANSIPROT11(a,b,c,d,e,f,g,h,i,j,k) a,b,c,d,e,f,g,h,i,j,k
#define ANSIPROT12(a,b,c,d,e,f,g,h,i,j,k,l) a,b,c,d,e,f,g,h,i,j,k,l
#define ANSIPROT13(a,b,c,d,e,f,g,h,i,j,k,l,m) a,b,c,d,e,f,g,h,i,j,k,l,m
#define ANSIPROT14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) a,b,c,d,e,f,g,h,i,j,k,l,m,n
#define ANSIPROT15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) a,b,c,d,e,f,g,h,i,j,k,l,m,n,o
#define ANSIPROT16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p
#define ANSIPROT17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q
#define _ANSIPROT(args) args
#define _ANSIPROT0 void
#define _ANSIPROT1(a) a
#define _ANSIPROT2(a,b) a,b
#define _ANSIPROT3(a,b,c) a,b,c
#define _ANSIPROT4(a,b,c,d) a,b,c,d
#define _ANSIPROT5(a,b,c,d,e) a,b,c,d,e
#define _ANSIPROT6(a,b,c,d,e,f) a,b,c,d,e,f
#define _ANSIPROT7(a,b,c,d,e,f,g) a,b,c,d,e,f,g
#define _ANSIPROT8(a,b,c,d,e,f,g,h) a,b,c,d,e,f,g,h
#define _ANSIPROT9(a,b,c,d,e,f,g,h,i) a,b,c,d,e,f,g,h,i
#define _ANSIPROT10(a,b,c,d,e,f,g,h,i,j) a,b,c,d,e,f,g,h,i,j
#define _ANSIPROT11(a,b,c,d,e,f,g,h,i,j,k) a,b,c,d,e,f,g,h,i,j,k
#define _ANSIPROT12(a,b,c,d,e,f,g,h,i,j,k,l) a,b,c,d,e,f,g,h,i,j,k,l
#define _ANSIPROT13(a,b,c,d,e,f,g,h,i,j,k,l,m) a,b,c,d,e,f,g,h,i,j,k,l,m
#define _ANSIPROT14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) a,b,c,d,e,f,g,h,i,j,k,l,m,n
#define _ANSIPROT15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) a,b,c,d,e,f,g,h,i,j,k,l,m,n,o
#define _ANSIPROT16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p
#define _ANSIPROT17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q
#else
#define ANSIPROT(args) ()
#define ANSIPROT0
#define ANSIPROT1(a)
#define ANSIPROT2(a,b)
#define ANSIPROT3(a,b,c)
#define ANSIPROT4(a,b,c,d)
#define ANSIPROT5(a,b,c,d,e)
#define ANSIPROT6(a,b,c,d,e,f)
#define ANSIPROT7(a,b,c,d,e,f,g)
#define ANSIPROT8(a,b,c,d,e,f,g,h)
#define ANSIPROT9(a,b,c,d,e,f,g,h,i)
#define ANSIPROT10(a,b,c,d,e,f,g,h,i,j)
#define ANSIPROT11(a,b,c,d,e,f,g,h,i,j,k)
#define ANSIPROT12(a,b,c,d,e,f,g,h,i,j,k,l)
#define ANSIPROT13(a,b,c,d,e,f,g,h,i,j,k,l,m)
#define ANSIPROT14(a,b,c,d,e,f,g,h,i,j,k,l,m,n)
#define ANSIPROT15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o)
#define ANSIPROT16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p)
#define ANSIPROT17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q)
#define _ANSIPROT(args) ()
#define _ANSIPROT0
#define _ANSIPROT1(a)
#define _ANSIPROT2(a,b)
#define _ANSIPROT3(a,b,c)
#define _ANSIPROT4(a,b,c,d)
#define _ANSIPROT5(a,b,c,d,e)
#define _ANSIPROT6(a,b,c,d,e,f)
#define _ANSIPROT7(a,b,c,d,e,f,g)
#define _ANSIPROT8(a,b,c,d,e,f,g,h)
#define _ANSIPROT9(a,b,c,d,e,f,g,h,i)
#define _ANSIPROT10(a,b,c,d,e,f,g,h,i,j)
#define _ANSIPROT11(a,b,c,d,e,f,g,h,i,j,k)
#define _ANSIPROT12(a,b,c,d,e,f,g,h,i,j,k,l)
#define _ANSIPROT13(a,b,c,d,e,f,g,h,i,j,k,l,m)
#define _ANSIPROT14(a,b,c,d,e,f,g,h,i,j,k,l,m,n)
#define _ANSIPROT15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o)
#define _ANSIPROT16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p)
#define _ANSIPROT17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q)
/* gcc can take __const__ even if __STDC__ is 0, allow user to define it */
#ifndef const
#define const
#endif
#define signed
/* gcc can take __volatile__ even if __STDC__ is 0, allow user to define it */
#ifndef volatile
#define volatile
#endif
#endif /* __STDC__ || __cplusplus */
/*
#if __cplusplus
#define extern_const extern const
#else
*/
#define extern_const const
/*
#endif
*/
#if defined(I386) && !defined(lint)
#define FAR _far
#define NEAR _near
#define HUGE _huge
#else
#define FAR
#define NEAR
#define HUGE
#endif
/*
#ifdef __cplusplus
}
#endif
*/
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -