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 + -
显示快捷键?