📄 cvsetmemorymanager_chdl.c
字号:
/* Copyright (c) 2001-2002 by SoftIntegration, Inc. All Rights Reserved */#include <cv.h>#include <ch.h>typedef void* (CV_CDECL *allocFunc)(size_t, void*);typedef int (CV_CDECL *freeFunc)(void*, void*);static ChInterp_t interp;static void* allocFunc_funarg(size_t Arg1, void* Arg2);static void* setallocFunc_funptr;static int freeFunc_funarg(void* Arg1, void* Arg2);static void* setfreeFunc_funptr;EXPORTCH void cvSetMemoryManager_chdl(void *varg) { va_list ap; allocFunc allocFuncptr_ch, allocFuncptr_c=NULL; freeFunc freeFuncptr_ch, freeFuncptr_c=NULL; void *userdata = NULL; Ch_VaStart(interp, ap, varg); allocFuncptr_ch = Ch_VaArg(interp, ap, allocFunc ); setallocFunc_funptr = (void *)allocFuncptr_ch; if (allocFuncptr_ch != NULL) { allocFuncptr_c = (allocFunc)allocFunc_funarg; } freeFuncptr_ch = Ch_VaArg(interp, ap, freeFunc); setfreeFunc_funptr = (void *)freeFuncptr_ch; if (freeFuncptr_ch != NULL) { freeFuncptr_c = (freeFunc)freeFunc_funarg; } userdata = Ch_VaArg(interp, ap, void*); cvSetMemoryManager(allocFuncptr_c, freeFuncptr_c, userdata); Ch_VaEnd(interp, ap);}static void* allocFunc_funarg(size_t Arg1, void* Arg2) { void* retval; Ch_CallFuncByAddr(interp, setallocFunc_funptr, &retval, Arg1, Arg2); return retval;}static int freeFunc_funarg(void* Arg1, void* Arg2) { int retval; Ch_CallFuncByAddr(interp, setfreeFunc_funptr, &retval, Arg1, Arg2); return retval;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -