bug-716242.c

来自「sdcc是为51等小型嵌入式cpu设计的c语言编译器支持数种不同类型的cpu」· C语言 代码 · 共 83 行

C
83
字号
/* bug-716242.c   syntax tests about function pointers at compile time */#include <testfwk.h>void *p;int ret;int mul2 (int i){  return 2 * i;}void g (int (*h) (int)){  ret = h (2);}void f1(){#if defined(SDCC_ds390)  p = (void code *) mul2;#else  p = (void *) mul2;#endif  g ((int (*) (int)) p);}/****************************/void g (int (*h) (int));void f2(){  int (*fp) (int) = p;  g (fp);}/****************************/void g (int (*h) (int));void f3(){  int (*fp) (int) = (int (*) (int)) p;  g (fp);}/****************************/void f4(){  ((void (code *) (void)) p) ();}/****************************/void f5(){  int (*fp) (int) = mul2;  fp(1);}/****************************/void f6(){  ((void (code *) (void)) 0) ();}/****************************/static voidtestFuncPtr(void){  f1();  ASSERT(ret == 4);}

⌨️ 快捷键说明

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