⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ansi.h

📁 一个简单的操作系统minix的核心代码
💻 H
字号:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
				include/ansi.h	 	 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

00000	/* The <ansi.h> header attempts to decide whether the compiler has enough
00001	 * conformance to Standard C for Minix to take advantage of.  If so, the
00002	 * symbol _ANSI is defined (as 31415).  Otherwise _ANSI is not defined
00003	 * here, but it may be defined by applications that want to bend the rules.
00004	 * The magic number in the definition is to inhibit unnecessary bending
00005	 * of the rules.  (For consistency with the new '#ifdef _ANSI" tests in
00006	 * the headers, _ANSI should really be defined as nothing, but that would
00007	 * break many library routines that use "#if _ANSI".)
00008	
00009	 * If _ANSI ends up being defined, a macro
00010	 *
00011	 *      _PROTOTYPE(function, params)
00012	 *
00013	 * is defined.  This macro expands in different ways, generating either
00014	 * ANSI Standard C prototypes or old-style K&R (Kernighan & Ritchie)
00015	 * prototypes, as needed.  Finally, some programs use _CONST, _VOIDSTAR etc
00016	 * in such a way that they are portable over both ANSI and K&R compilers.
00017	 * The appropriate macros are defined here.
00018	 */
00019	
00020	#ifndef _ANSI_H
00021	#define _ANSI_H
00022	
00023	#if __STDC__ == 1
00024	#define _ANSI           31459   /* compiler claims full ANSI conformance */
00025	#endif
00026	
00027	#ifdef __GNUC__
00028	#define _ANSI           31459   /* gcc conforms enough even in non-ANSI mode */
00029	#endif
00030	
00031	#ifdef _ANSI
00032	
00033	/* Keep everything for ANSI prototypes. */
00034	#define _PROTOTYPE(function, params)    function params
00035	#define _ARGS(params)                   params
00036	
00037	#define _VOIDSTAR       void *
00038	#define _VOID           void
00039	#define _CONST          const
00040	#define _VOLATILE       volatile
00041	#define _SIZET          size_t
00042	
00043	#else
00044	
00045	/* Throw away the parameters for K&R prototypes. */
00046	#define _PROTOTYPE(function, params)    function()
00047	#define _ARGS(params)                   ()
00048	
00049	#define _VOIDSTAR       void *
00050	#define _VOID           void
00051	#define _CONST
00052	#define _VOLATILE
00053	#define _SIZET          int
00054	
00055	#endif /* _ANSI */
00056	
00057	#endif /* ANSI_H */




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -