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

📄 reset.c

📁 guide and some example with visualC++
💻 C
字号:
/* reset.c * *	(C) Copyright May  6 2000, Edmond J. Breen. *		   ALL RIGHTS RESERVED. * This code may be copied for personal, non-profit use only. * *//* Modified by Intel OpenCV team. Added lines 53-56 in order to prevent    the parser exceptions throwing in specific cases. The fix is consistent    with the EiC Standard version. */#include <stdio.h>#include <stdlib.h>#include "global.h"#include "symbol.h"#include "xalloc.h"#include "error.h"static size_t xalloc_bot, pp_bot, lut_bot, ENV_bot;static size_t Ixalloc_bot, Ipp_bot, Ilut_bot, IENV_bot, Ibot_stab, Inincludes;void EiC_pp_CleanUp(size_t bot);void EiC_ENV_CleanUp(size_t bot);size_t EiC_pp_NextEntryNum(void);size_t EiC_ENV_NextEntryNum();void EiCp_initiateReset(void){    ENV_bot = EiC_ENV_NextEntryNum();    lut_bot = EiC_lut_NextEntryNum();    pp_bot = EiC_pp_NextEntryNum();    xalloc_bot = EiC_xalloc_NextEntryNum();}void EiCp_Reset(int flag){    int errR = 0;    size_t xalloc_top = EiC_xalloc_NextEntryNum();    if(flag) EiC_messageDisplay("Error: clean up forced\n");    /* The while loop is a precaution against	 * errors that occur during cleanup.	 */    while(errR < 10) {	/*if(flag) {sprintf(buff,"%d,",errR); EiC_messageDisplay(buff);}*/	switch(errR++) {	case 0: EiC_lut_CleanUp(lut_bot); break;	case 1: EiC_ENV_CleanUp(ENV_bot); break;	case 2: EiC_pp_CleanUp(pp_bot); break;	case 3: /* Vic's change */	    if(EiC_ENV->ARgar.n)	    xmark(EiC_ENV->ARgar.val,eicstay); /*End Vic's change */	    EiC_xalloc_CleanUp(xalloc_bot,xalloc_top); break;	default:	    /*if(flag) EiC_messageDisplay("\n");*/	    errR = 10;	}    }}    static AR_t *globals =NULL;static unsigned ARsp;void EiCp_setResetStart(void){    size_t EiC_get_EiC_bot_stab(void);    size_t EiC_get_EiC_PP_NINCLUDES(void);    ARsp = EiC_ENV->sp;    if(globals)	free(globals);    globals = (AR_t*)malloc(sizeof(AR_t)*ARsp);    if(globals) 	memcpy(globals,EiC_ENV->AR,sizeof(AR_t)*ARsp);    EiCp_initiateReset();    Ixalloc_bot = xalloc_bot;    Ipp_bot = pp_bot;    Ilut_bot = lut_bot;    IENV_bot = ENV_bot;    Inincludes = EiC_get_EiC_PP_NINCLUDES();    Ibot_stab =  EiC_get_EiC_bot_stab();}void EiCp_ResetStart(void){    void EiC_set_EiC_PPtoStart(int bot_stab, int include);    xalloc_bot = Ixalloc_bot;    pp_bot = Ipp_bot;    lut_bot = Ilut_bot;    ENV_bot = IENV_bot;    EiCp_Reset(0);    EiC_set_EiC_PPtoStart(Ibot_stab, Inincludes);    if(globals) {	memcpy(EiC_ENV->AR,globals,sizeof(AR_t)*ARsp);	EiC_ENV->sp = ARsp;    }}

⌨️ 快捷键说明

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