dggccbug.c

来自「mediastreamer2是开源的网络传输媒体流的库」· C语言 代码 · 共 46 行

C
46
字号
/* NOCW *//* dggccbug.c *//* bug found by Eric Young (eay@cryptsoft.com) - May 1995 */#include <stdio.h>/* There is a bug in * gcc version 2.5.8 (88open OCS/BCS, DG-2.5.8.3, Oct 14 1994) * as shipped with DGUX 5.4R3.10 that can be bypassed by defining * DG_GCC_BUG in my code. * The bug manifests itself by the vaule of a pointer that is * used only by reference, not having it's value change when it is used * to check for exiting the loop.  Probably caused by there being 2 * copies of the valiable, one in a register and one being an address * that is passed. *//* compare the out put from * gcc dggccbug.c; ./a.out * and * gcc -O dggccbug.c; ./a.out * compile with -DFIXBUG to remove the bug when optimising. */void inc(a)int *a;	{	(*a)++;	}main()	{	int p=0;#ifdef FIXBUG	int dummy;#endif	while (p<3)		{		fprintf(stderr,"%08X\n",p);		inc(&p);#ifdef FIXBUG		dummy+=p;#endif		}	}

⌨️ 快捷键说明

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