音樂盒成功建立連接,歡迎各位光臨

MINIX Source Code

上一篇 / 下一篇  2007-11-15 14:33:07 / 个人分类:Betriebssystem Entwicklung

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 31459).  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

[Page 640]
00055   #endif /* _ANSI */
00056
00057   /* This should be defined as restrict when a C99 compiler is used. */
00058   #define _RESTRICT
00059
00060   /* Setting any of _MINIX, _POSIX_C_SOURCE or _POSIX2_SOURCE implies
00061    * _POSIX_SOURCE.  (Seems wrong to put this here in ANSI space.)
00062    */
00063   #if defined(_MINIX) || _POSIX_C_SOURCE > 0 || defined(_POSIX2_SOURCE)
00064   #undef _POSIX_SOURCE
00065   #define _POSIX_SOURCE   1
00066   #endif
00067
00068   #endif /* ANSI_H */

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-12-02  
 123456
78910111213
14151617181920
21222324252627
28293031   

数据统计

  • 访问量: 5726
  • 日志数: 9
  • 图片数: 1
  • 建立时间: 2007-06-06
  • 更新时间: 2008-10-07

RSS订阅

Open Toolbar