defined_trad.c
来自「gcc3.2.1源代码」· C语言 代码 · 共 80 行
C
80 行
/* Copyright (C) 2000 Free Software Foundation, Inc. *//* { dg-do preprocess } *//* { dg-options "-traditional" } *//* Tests tradcpp0 with defined. The defined operator in traditional C works just the same as the defined operator in Standard C. *//* Source: Zack Weinberg, glibc, Neil Booth 11 Dec 2000. */#if defined REGPARMS#error REGPARMS should not be defined#endif#define REGPARMS 1#if !defined REGPARMS#error REGPARMS should be defined#endif#define defined /* { dg-error "defined" } *//* No diagnostics, though you could argue there should be. */#if defined defined#error defined is defined!#endif#define is_Z_defined defined Z#if defined Z#error Z is not defined#endif/* The behaviour of "defined" when it comes from a macro expansion is now documented. */#if is_Z_defined#error Macro expanding into defined operator test 1#endif#define Z#if !defined Z#error Z is defined#endif#if !is_Z_defined#error Macro expanding into defined operator test 2#endif#undef is_Z_defined#undef Z/* Do all the tests over again with the () form of defined. *//* No diagnostics, though you could argue there should be. */#if defined(defined)#error defined is defined!#endif#define is_Z_defined defined ( Z )#if defined(Z)#error Z is not defined#endif/* The behaviour of "defined" when it comes from a macro expansion is now documented. */#if is_Z_defined#error Macro expanding into defined operator test 1#endif#define Z#if !defined(Z)#error Z is defined#endif#if !is_Z_defined#error Macro expanding into defined operator test 2#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?