duff-1.c

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

C
51
字号
/* Duff's device is legal C; test to make sure the compiler   doesn't complain about it.   Jason Thorpe <thorpej@wasabisystems.com>   Derived from PR 3846.  *//* { dg-do run } *//* { dg-options "-O2" } */extern void abort (void);extern void exit (int);typedef __SIZE_TYPE__ size_t;extern int memcmp (const void *, const void *, size_t);voidduffcpy (char *dst, const char *src, unsigned long size){  switch (size & 3)    {    for (;;)      {	*dst++ = *src++;    case 3:	*dst++ = *src++;    case 2:	*dst++ = *src++;    case 1:	*dst++ = *src++;    case 0:	if (size <= 3)	  break;	size -= 4;      }    }}const char testpat[] = "The quick brown fox jumped over the lazy dog.";intmain(){  char buf[64];  duffcpy (buf, testpat, sizeof (testpat));  if (memcmp (buf, testpat, sizeof (testpat)) != 0)    abort ();  exit (0);}

⌨️ 快捷键说明

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