📄 defined.c
字号:
/* Copyright (C) 2000 Free Software Foundation, Inc. *//* { dg-do preprocess } *//* Tests behavior of the defined operator. *//* Source: Neil Booth, 29 Oct 2000, Zack Weinberg 11 Dec 2000. */#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 behavior 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 behavior 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/* Use of defined in different contexts. */#define bad1 defined#if !bad1 Z /* { dg-warning "may not be portable" } */#error Z is defined#endif #if !bad1 (Z) /* { dg-warning "may not be portable" } */#error Z is defined#endif #define bad2 defined (Z#if !bad2) /* { dg-warning "may not be portable" } */#error Z is defined#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -