method-20.m
来自「Mac OS X 10.4.9 for x86 Source Code gcc」· M 代码 · 共 45 行
M
45 行
/* APPLE LOCAL file 4209854 *//* Check if array and function parameters get decayed to pointers as they should. *//* { dg-do run } *//* { dg-options "-O2" } */#include <objc/Object.h>#include <string.h>#include <stdlib.h>static char global_buf[20];char *strcpy_like_callee(const char *s) { strcpy(global_buf, s); return global_buf;} typedef char io_string_t[512];typedef char *(func_type)(const char *);@interface DeviceObject: Object- (void) func:(func_type)func stucPathInIORegistry:(io_string_t)ioRegPath;@end@implementation DeviceObject- (void) func:(func_type)func stucPathInIORegistry:(io_string_t)ioRegPath{ func(ioRegPath);}@endint main (void) { io_string_t my_string; DeviceObject *obj = [DeviceObject new]; strcpy (my_string, "Hello!"); strcpy (global_buf, "Good-bye!"); [obj func:strcpy_like_callee stucPathInIORegistry:my_string]; if (strcmp (global_buf, "Hello!")) abort (); return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?