⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cvsetmemorymanager_chdl.c

📁 guide and some example with visualC++
💻 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 + -