strify2.c

来自「this is a gcc file, you can download it 」· C语言 代码 · 共 40 行

C
40
字号
/* Copyright (C) 2000 Free Software Foundation, Inc.  *//* { dg-do run } *//* { dg-options "-std=c99 -pedantic-errors" } *//* Tests a whole bunch of things are correctly stringified.  */extern int strcmp (const char *, const char *);extern int puts (const char *);extern void abort (void);#define err(str) do { puts(str); abort(); } while (0)#define str(x) #x#define xstr(x) str(x)#define strvar(...) #__VA_ARGS__#define glibc_str(x) glibc_str2 (w, x)#define glibc_str2(w, x) #x#define ver GLIBC_2.2int main (int argc, char *argv[]){  str (\);		/* { dg-warning "valid string" "str(\\)" } */  str (\\);		/* OK.  */  str (\\\);		/* { dg-warning "valid string" "str(\\\\\\)" } */  /* This also serves as a useful test of the value of __INCLUDE_LEVEL.  */  if (strcmp (xstr (__INCLUDE_LEVEL__), "0"))    err ("macro expansion");  if (strcmp(str (__INCLUDE_LEVEL__), "__INCLUDE_LEVEL__"))    err ("macro name");  if (strcmp(str(), "") || strcmp(str( ), ""))    err ("empty string");  if (strcmp(str ("s\n"), "\"s\\n\""))    err ("quoted string");  if (strcmp (str (a 

⌨️ 快捷键说明

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