亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? objbin.c

?? clips源代碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
   /*******************************************************/   /*      "C" Language Integrated Production System      */   /*                                                     */   /*               CLIPS Version 6.24  05/17/06          */   /*                                                     */   /*                                                     */   /*******************************************************//*************************************************************//* Purpose: Binary Load/Save Functions for Classes and their *//*             message-handlers                              *//*                                                           *//* Principal Programmer(s):                                  *//*      Brian L. Donnell                                     *//*                                                           *//* Contributing Programmer(s):                               *//*                                                           *//* Revision History:                                         *//*      6.24: Removed IMPERATIVE_MESSAGE_HANDLERS and        *//*            AUXILIARY_MESSAGE_HANDLERS compilation flags.  *//*                                                           *//*************************************************************//* =========================================   *****************************************               EXTERNAL DEFINITIONS   =========================================   ***************************************** */#include <stdlib.h>#include "setup.h"#if OBJECT_SYSTEM && (BLOAD || BLOAD_ONLY || BLOAD_AND_BSAVE)#include "bload.h"#include "bsave.h"#include "classcom.h"#include "classfun.h"#include "classini.h"#include "cstrcbin.h"#include "cstrnbin.h"#include "envrnmnt.h"#include "insfun.h"#include "memalloc.h"#include "modulbin.h"#include "msgcom.h"#include "msgfun.h"#include "prntutil.h"#include "router.h"#define _OBJBIN_SOURCE_#include "objbin.h"/* =========================================   *****************************************               MACROS AND TYPES   =========================================   ***************************************** */#define SlotIndex(p)             (((p) != NULL) ? (p)->bsaveIndex : -1L)#define SlotNameIndex(p)         (p)->bsaveIndex#define LinkPointer(i)           (((i) == -1L) ? NULL : (DEFCLASS **) &ObjectBinaryData(theEnv)->LinkArray[i])#define SlotPointer(i)           (((i) == -1L) ? NULL : (SLOT_DESC *) &ObjectBinaryData(theEnv)->SlotArray[i])#define TemplateSlotPointer(i)   (((i) == -1L) ? NULL : (SLOT_DESC **) &ObjectBinaryData(theEnv)->TmpslotArray[i])#define OrderedSlotPointer(i)    (((i) == -1L) ? NULL : (unsigned *) &ObjectBinaryData(theEnv)->MapslotArray[i])#define SlotNamePointer(i)       ((SLOT_NAME *) &ObjectBinaryData(theEnv)->SlotNameArray[i])#define HandlerPointer(i)        (((i) == -1L) ? NULL : (HANDLER *) &ObjectBinaryData(theEnv)->HandlerArray[i])#define OrderedHandlerPointer(i) (((i) == -1L) ? NULL : (unsigned *) &ObjectBinaryData(theEnv)->MaphandlerArray[i])typedef struct bsaveDefclassModule  {   struct bsaveDefmoduleItemHeader header;  } BSAVE_DEFCLASS_MODULE;typedef struct bsavePackedClassLinks  {   long classCount;   long classArray;  } BSAVE_PACKED_CLASS_LINKS;typedef struct bsaveDefclass  {   struct bsaveConstructHeader header;   unsigned abstract : 1;   unsigned reactive : 1;   unsigned system   : 1;   unsigned short id;   BSAVE_PACKED_CLASS_LINKS directSuperclasses,                            directSubclasses,                            allSuperclasses;   unsigned slotCount,localInstanceSlotCount,            instanceSlotCount,maxSlotNameID;   unsigned handlerCount;   long slots,        instanceTemplate,        slotNameMap,        handlers,        scopeMap;  } BSAVE_DEFCLASS;typedef struct bsaveSlotName  {   unsigned id,            hashTableIndex;   long name,        putHandlerName;  } BSAVE_SLOT_NAME;typedef struct bsaveSlotDescriptor  {   unsigned shared              : 1;   unsigned multiple            : 1;   unsigned composite           : 1;   unsigned noInherit           : 1;   unsigned noWrite             : 1;   unsigned initializeOnly      : 1;   unsigned dynamicDefault      : 1;   unsigned noDefault           : 1;   unsigned reactive            : 1;   unsigned publicVisibility    : 1;   unsigned createReadAccessor  : 1;   unsigned createWriteAccessor : 1;   long cls,        slotName,        defaultValue,        constraint,        overrideMessage;  } BSAVE_SLOT_DESC;typedef struct bsaveMessageHandler  {   unsigned system : 1;   unsigned type   : 2;   int minParams,       maxParams,       localVarCount;   long name,        cls,        actions;  } BSAVE_HANDLER;typedef struct handlerBsaveInfo  {   HANDLER *handlers;   unsigned *handlerOrderMap;   unsigned handlerCount;  } HANDLER_BSAVE_INFO;/* =========================================   *****************************************      INTERNALLY VISIBLE FUNCTION HEADERS   =========================================   ***************************************** */#if BLOAD_AND_BSAVEstatic void BsaveObjectsFind(void *);static void MarkDefclassItems(void *,struct constructHeader *,void *);static void BsaveObjectsExpressions(void *,FILE *);static void BsaveDefaultSlotExpressions(void *,struct constructHeader *,void *);static void BsaveHandlerActionExpressions(void *,struct constructHeader *,void *);static void BsaveStorageObjects(void *,FILE *);static void BsaveObjects(void *,FILE *);static void BsaveDefclass(void *,struct constructHeader *,void *);static void BsaveClassLinks(void *,struct constructHeader *,void *);static void BsaveSlots(void *,struct constructHeader *,void *);static void BsaveTemplateSlots(void *,struct constructHeader *,void *);static void BsaveSlotMap(void *,struct constructHeader *,void *);static void BsaveHandlers(void *,struct constructHeader *,void *);static void BsaveHandlerMap(void *,struct constructHeader *,void *);#endifstatic void BloadStorageObjects(void *);static void BloadObjects(void *);static void UpdatePrimitiveClassesMap(void *);static void UpdateDefclassModule(void *,void *,long);static void UpdateDefclass(void *,void *,long);static void UpdateLink(void *,void *,long);static void UpdateSlot(void *,void *,long);static void UpdateSlotName(void *,void *,long);static void UpdateTemplateSlot(void *,void *,long);static void UpdateHandler(void *,void *,long);static void ClearBloadObjects(void *);static void DeallocateObjectBinaryData(void *);/* =========================================   *****************************************          EXTERNALLY VISIBLE FUNCTIONS   =========================================   ***************************************** *//***********************************************************  NAME         : SetupObjectsBload  DESCRIPTION  : Initializes data structures and                   routines for binary loads of                   generic function constructs  INPUTS       : None  RETURNS      : Nothing useful  SIDE EFFECTS : Routines defined and structures initialized  NOTES        : None ***********************************************************/globle void SetupObjectsBload(  void *theEnv)  {   AllocateEnvironmentData(theEnv,OBJECTBIN_DATA,sizeof(struct objectBinaryData),DeallocateObjectBinaryData);      AddAbortBloadFunction(theEnv,"defclass",CreateSystemClasses,0);#if BLOAD_AND_BSAVE   AddBinaryItem(theEnv,"defclass",0,BsaveObjectsFind,BsaveObjectsExpressions,                             BsaveStorageObjects,BsaveObjects,                             BloadStorageObjects,BloadObjects,                             ClearBloadObjects);#endif#if BLOAD || BLOAD_ONLY   AddBinaryItem(theEnv,"defclass",0,NULL,NULL,NULL,NULL,                             BloadStorageObjects,BloadObjects,                             ClearBloadObjects);#endif  }  /*******************************************************//* DeallocateObjectBinaryData: Deallocates environment *//*    data for object binary functionality.            *//*******************************************************/static void DeallocateObjectBinaryData(  void *theEnv)  {   size_t space;   long i;#if (BLOAD || BLOAD_ONLY || BLOAD_AND_BSAVE) && (! RUN_TIME)      space = (sizeof(DEFCLASS_MODULE) * ObjectBinaryData(theEnv)->ModuleCount);   if (space != 0) genfree(theEnv,(void *) ObjectBinaryData(theEnv)->ModuleArray,space);    if (ObjectBinaryData(theEnv)->ClassCount != 0)     {       if (DefclassData(theEnv)->ClassIDMap != NULL)        { rm(theEnv,(void *) DefclassData(theEnv)->ClassIDMap,(sizeof(DEFCLASS *) * DefclassData(theEnv)->AvailClassID)); }      for (i = 0L ; i < ObjectBinaryData(theEnv)->SlotCount ; i++)        {         if ((ObjectBinaryData(theEnv)->SlotArray[i].defaultValue != NULL) && (ObjectBinaryData(theEnv)->SlotArray[i].dynamicDefault == 0))           { rtn_struct(theEnv,dataObject,ObjectBinaryData(theEnv)->SlotArray[i].defaultValue); }        }      space = (sizeof(DEFCLASS) * ObjectBinaryData(theEnv)->ClassCount);      if (space != 0L)        { genfree(theEnv,(void *) ObjectBinaryData(theEnv)->DefclassArray,space); }      space = (sizeof(DEFCLASS *) * ObjectBinaryData(theEnv)->LinkCount);      if (space != 0L)        { genfree(theEnv,(void *) ObjectBinaryData(theEnv)->LinkArray,space); }      space = (sizeof(SLOT_DESC) * ObjectBinaryData(theEnv)->SlotCount);      if (space != 0L)        { genfree(theEnv,(void *) ObjectBinaryData(theEnv)->SlotArray,space); }      space = (sizeof(SLOT_NAME) * ObjectBinaryData(theEnv)->SlotNameCount);      if (space != 0L)        { genfree(theEnv,(void *) ObjectBinaryData(theEnv)->SlotNameArray,space); }      space = (sizeof(SLOT_DESC *) * ObjectBinaryData(theEnv)->TemplateSlotCount);      if (space != 0L)        { genfree(theEnv,(void *) ObjectBinaryData(theEnv)->TmpslotArray,space); }      space = (sizeof(unsigned) * ObjectBinaryData(theEnv)->SlotNameMapCount);      if (space != 0L)        { genfree(theEnv,(void *) ObjectBinaryData(theEnv)->MapslotArray,space); }     }   if (ObjectBinaryData(theEnv)->HandlerCount != 0L)     {      space = (sizeof(HANDLER) * ObjectBinaryData(theEnv)->HandlerCount);      if (space != 0L)        {         genfree(theEnv,(void *) ObjectBinaryData(theEnv)->HandlerArray,space);         space = (sizeof(unsigned) * ObjectBinaryData(theEnv)->HandlerCount);         genfree(theEnv,(void *) ObjectBinaryData(theEnv)->MaphandlerArray,space);        }     }#endif  }/***************************************************  NAME         : BloadDefclassModuleReference  DESCRIPTION  : Returns a pointer to the                 appropriate defclass module  INPUTS       : The index of the module  RETURNS      : A pointer to the module  SIDE EFFECTS : None  NOTES        : None ***************************************************/globle void *BloadDefclassModuleReference(  void *theEnv,  int theIndex)  {   return ((void *) &ObjectBinaryData(theEnv)->ModuleArray[theIndex]);  }/* =========================================   *****************************************          INTERNALLY VISIBLE FUNCTIONS   =========================================   ***************************************** */#if BLOAD_AND_BSAVE/***************************************************************************  NAME         : BsaveObjectsFind  DESCRIPTION  : For all classes and their message-handlers, this routine                   marks all the needed symbols and system functions.                 Also, it also counts the number of expression structures                   needed.  INPUTS       : None  RETURNS      : Nothing useful  SIDE EFFECTS : ExpressionCount (a global from BSAVE.C) is incremented                   for every expression needed                 Symbols are marked in their structures  NOTES        : Also sets bsaveIndex for each class (assumes classes                   will be bsaved in order of binary list) ***************************************************************************/static void BsaveObjectsFind(  void *theEnv)  {   register unsigned i;   SLOT_NAME *snp;   /* ========================================================      The counts need to be saved in case a bload is in effect      ======================================================== */      SaveBloadCount(theEnv,ObjectBinaryData(theEnv)->ModuleCount);      SaveBloadCount(theEnv,ObjectBinaryData(theEnv)->ClassCount);      SaveBloadCount(theEnv,ObjectBinaryData(theEnv)->LinkCount);      SaveBloadCount(theEnv,ObjectBinaryData(theEnv)->SlotNameCount);      SaveBloadCount(theEnv,ObjectBinaryData(theEnv)->SlotCount);      SaveBloadCount(theEnv,ObjectBinaryData(theEnv)->TemplateSlotCount);      SaveBloadCount(theEnv,ObjectBinaryData(theEnv)->SlotNameMapCount);      SaveBloadCount(theEnv,ObjectBinaryData(theEnv)->HandlerCount);   ObjectBinaryData(theEnv)->ModuleCount= 0L;   ObjectBinaryData(theEnv)->ClassCount = 0L;   ObjectBinaryData(theEnv)->SlotCount = 0L;   ObjectBinaryData(theEnv)->SlotNameCount = 0L;   ObjectBinaryData(theEnv)->LinkCount = 0L;   ObjectBinaryData(theEnv)->TemplateSlotCount = 0L;   ObjectBinaryData(theEnv)->SlotNameMapCount = 0L;   ObjectBinaryData(theEnv)->HandlerCount = 0L;   /* ==============================================      Mark items needed by defclasses in all modules      ============================================== */   ObjectBinaryData(theEnv)->ModuleCount =       DoForAllConstructs(theEnv,MarkDefclassItems,DefclassData(theEnv)->DefclassModuleIndex,                                    FALSE,NULL);   /* =============================================      Mark items needed by canonicalized slot names      ============================================= */   for (i = 0 ; i < SLOT_NAME_TABLE_HASH_SIZE ; i++)     for (snp = DefclassData(theEnv)->SlotNameTable[i] ; snp != NULL ; snp = snp->nxt)       {        if ((snp->id != ISA_ID) && (snp->id != NAME_ID))          {           snp->bsaveIndex = ObjectBinaryData(theEnv)->SlotNameCount++;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看视频一区二区欧美日韩| 欧美aⅴ一区二区三区视频| www.亚洲色图| 亚洲人成小说网站色在线| 91农村精品一区二区在线| 一区av在线播放| 欧美视频精品在线观看| 人禽交欧美网站| 26uuu精品一区二区三区四区在线| 国产一区二区视频在线| 中文字幕一区二区视频| 欧洲一区在线电影| 老司机免费视频一区二区| 久久久噜噜噜久久中文字幕色伊伊| 高清在线观看日韩| 一区二区三国产精华液| 久久久精品免费免费| 成人av午夜影院| 亚洲黄色在线视频| 欧美电影免费观看高清完整版在 | 久久久精品影视| 99久久久久久| 男女男精品视频| 国产精品欧美经典| 欧美日韩一区二区三区免费看| 精品中文字幕一区二区小辣椒| 欧美国产一区视频在线观看| 欧美视频在线播放| 国产乱码一区二区三区| 亚洲永久精品大片| 337p粉嫩大胆噜噜噜噜噜91av| 91香蕉国产在线观看软件| 秋霞午夜av一区二区三区| 中文字幕av免费专区久久| 欧美视频一区二区| 东方aⅴ免费观看久久av| 亚洲成人福利片| 国产精品视频在线看| 91麻豆精品91久久久久久清纯| 成人午夜免费视频| 日本成人在线看| 亚洲一区二区在线视频| 国产人成亚洲第一网站在线播放 | 精品毛片乱码1区2区3区| 99re6这里只有精品视频在线观看| 视频在线在亚洲| 亚洲视频中文字幕| 久久久蜜桃精品| 日韩欧美亚洲国产精品字幕久久久| 一本一道久久a久久精品| 国产高清精品在线| 久久不见久久见免费视频1| 欧美激情综合五月色丁香小说| 欧美成人女星排行榜| 成人午夜精品一区二区三区| 亚洲动漫第一页| 国产精品私人自拍| 久久亚洲综合色| 欧美一区二区三区免费视频| 97精品电影院| 成人夜色视频网站在线观看| 精品一区二区三区香蕉蜜桃| 日韩精品一二三区| 尤物在线观看一区| 亚洲精品日产精品乱码不卡| 国产精品久久久久精k8| 国产欧美一区二区精品性| 欧美成人精品福利| 日韩美女视频一区二区在线观看| 欧美日韩国产三级| 91麻豆精品91久久久久同性| 欧美日产在线观看| 在线不卡一区二区| 91精品婷婷国产综合久久竹菊| 欧美日韩另类一区| 69久久99精品久久久久婷婷 | 久久久精品人体av艺术| 成人欧美一区二区三区| 欧美国产综合色视频| 国产精品成人免费| 国产精品成人午夜| 一区二区三区蜜桃网| 一区二区三区高清| 日韩在线一区二区| 免费人成在线不卡| 国产一区二区三区电影在线观看 | 91精品午夜视频| 欧美大片在线观看一区二区| 欧美www视频| 久久久国产一区二区三区四区小说| 欧美国产精品v| 中文字幕一区二区三区精华液| 亚洲免费伊人电影| 亚洲电影一区二区| 狠狠色丁香久久婷婷综合丁香| 国产很黄免费观看久久| 色综合久久六月婷婷中文字幕| 欧美在线视频全部完| 在线91免费看| 久久久蜜臀国产一区二区| 最新国产成人在线观看| 午夜不卡在线视频| 国产专区综合网| 91一区二区在线| 51精品久久久久久久蜜臀| 欧美成人女星排名| 国产精品麻豆视频| 亚洲大片在线观看| 国产一区二区福利视频| 91在线porny国产在线看| 欧美性欧美巨大黑白大战| 精品国产亚洲在线| 亚洲色图都市小说| 蜜臀av性久久久久蜜臀aⅴ四虎 | 国产成人免费9x9x人网站视频| 一本色道久久综合精品竹菊| 91精品国产欧美一区二区成人 | 午夜国产精品影院在线观看| 九九国产精品视频| 91网页版在线| 久久丝袜美腿综合| 亚洲国产综合色| 国产成人av一区二区三区在线| 欧美视频中文字幕| 国产日韩精品久久久| 午夜欧美电影在线观看| 波多野结衣一区二区三区| 4438x亚洲最大成人网| 国产精品美女久久福利网站| 免费精品视频最新在线| 91丨porny丨国产| 久久久精品中文字幕麻豆发布| 亚洲二区视频在线| 91美女精品福利| 国产日韩欧美一区二区三区综合| 亚洲va韩国va欧美va| 91在线免费播放| 国产亚洲欧美色| 奇米一区二区三区| 欧美色倩网站大全免费| 国产精品免费网站在线观看| 精品中文字幕一区二区小辣椒| 欧美精品日韩一本| 亚洲精品成a人| av电影在线观看一区| 久久亚洲一区二区三区明星换脸| 日韩精品免费视频人成| 在线免费视频一区二区| 国产精品第13页| 成人性生交大合| 久久精品一区二区三区av| 免费视频最近日韩| 欧美一区二区视频网站| 午夜视黄欧洲亚洲| 欧美日韩亚洲综合在线| 亚洲国产一区二区a毛片| 色婷婷av一区二区三区软件 | 51精品国自产在线| 香蕉影视欧美成人| 欧美午夜一区二区三区| 亚洲综合色婷婷| 欧美在线观看视频在线| 亚洲精品五月天| 91国在线观看| 午夜在线电影亚洲一区| 欧美喷水一区二区| 日韩电影一区二区三区| 欧美一区二区国产| 日本不卡123| wwwwxxxxx欧美| 国产成人免费xxxxxxxx| 欧美国产精品专区| 成人h动漫精品| 亚洲欧美激情在线| 色悠久久久久综合欧美99| 一区二区三区四区在线播放| 色就色 综合激情| 午夜av一区二区三区| 欧美一级欧美三级| 久久精品免费看| 国产视频一区在线观看| 成人免费福利片| 一区二区三区精品| 欧美日本精品一区二区三区| 日韩国产一区二| 26uuu国产在线精品一区二区| 国产精品一区二区无线| 自拍偷在线精品自拍偷无码专区| 91麻豆精品一区二区三区| 午夜国产精品影院在线观看| 精品国产麻豆免费人成网站| 成人午夜视频网站| 亚洲国产精品久久人人爱 | 国产免费观看久久| 97se亚洲国产综合自在线观| 亚洲国产成人va在线观看天堂| 欧美tk—视频vk| 成人v精品蜜桃久久一区| 亚洲v日本v欧美v久久精品| 精品久久久网站|