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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? modulbin.c

?? clips源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
   /*******************************************************/   /*      "C" Language Integrated Production System      */   /*                                                     */   /*             CLIPS Version 6.21  06/15/03            */   /*                                                     */   /*             DEFMODULE BSAVE/BLOAD MODULE            */   /*******************************************************//*************************************************************//* Purpose: Implements the binary save/load feature for the  *//*    defmodule construct.                                   *//*                                                           *//* Principal Programmer(s):                                  *//*      Gary D. Riley                                        *//*                                                           *//* Contributing Programmer(s):                               *//*      Brian L. Donnell                                     *//*                                                           *//* Revision History:                                         *//*                                                           *//*************************************************************/#define _MODULBIN_SOURCE_#include "setup.h"#if (BLOAD || BLOAD_ONLY || BLOAD_AND_BSAVE) && (! RUN_TIME)#include <stdio.h>#define _STDIO_INCLUDED_#include "memalloc.h"#include "constrct.h"#include "moduldef.h"#include "bload.h"#include "bsave.h"#include "envrnmnt.h"#include "modulbin.h"/***************************************//* LOCAL INTERNAL FUNCTION DEFINITIONS *//***************************************/#if BLOAD_AND_BSAVE   static void                    BsaveFind(void *);   static void                    BsaveStorage(void *,FILE *);   static void                    BsaveBinaryItem(void *,FILE *);#endif   static void                    BloadStorage(void *);   static void                    BloadBinaryItem(void *);   static void                    UpdateDefmodule(void *,void *,long);   static void                    UpdatePortItem(void *,void *,long);   static void                    ClearBload(void *);/*********************************************//* DefmoduleBinarySetup: Installs the binary *//*   save/load feature for defmodules.       *//*********************************************/globle void DefmoduleBinarySetup(  void *theEnv)  {   AddBeforeBloadFunction(theEnv,"defmodule",RemoveAllDefmodules,2000);#if BLOAD_AND_BSAVE   AddBinaryItem(theEnv,"defmodule",0,BsaveFind,NULL,                             BsaveStorage,BsaveBinaryItem,                             BloadStorage,BloadBinaryItem,                             ClearBload);#endif   AddAbortBloadFunction(theEnv,"defmodule",CreateMainModule,0);#if (BLOAD || BLOAD_ONLY)   AddBinaryItem(theEnv,"defmodule",0,NULL,NULL,NULL,NULL,                             BloadStorage,BloadBinaryItem,                             ClearBload);#endif  }/**************************************************************//* UpdateDefmoduleItemHeader: Updates the values in defmodule *//*   item headers for the loaded binary image.                *//**************************************************************/globle void UpdateDefmoduleItemHeader(  void *theEnv,  struct bsaveDefmoduleItemHeader *theBsaveHeader,  struct defmoduleItemHeader *theHeader,  int itemSize,  void *itemArray)  {   long firstOffset,lastOffset;   theHeader->theModule = ModulePointer(theBsaveHeader->theModule);   if (theBsaveHeader->firstItem == -1L)     {      theHeader->firstItem = NULL;      theHeader->lastItem = NULL;     }   else     {      firstOffset = itemSize * theBsaveHeader->firstItem;      lastOffset = itemSize * theBsaveHeader->lastItem;      theHeader->firstItem =        (struct constructHeader *) &((char *) itemArray)[firstOffset];      theHeader->lastItem =        (struct constructHeader *) &((char *) itemArray)[lastOffset];     }  }#if BLOAD_AND_BSAVE/*********************************************************//* AssignBsaveDefmdlItemHdrVals: Assigns the appropriate *//*   values to a bsave defmodule item header record.     *//*********************************************************/globle void AssignBsaveDefmdlItemHdrVals(  struct bsaveDefmoduleItemHeader *theBsaveHeader,  struct defmoduleItemHeader *theHeader)  {   theBsaveHeader->theModule = theHeader->theModule->bsaveID;   if (theHeader->firstItem == NULL)     {      theBsaveHeader->firstItem = -1L;      theBsaveHeader->lastItem = -1L;     }   else     {      theBsaveHeader->firstItem = theHeader->firstItem->bsaveID;      theBsaveHeader->lastItem = theHeader->lastItem->bsaveID;     }  }/**********************************************************//* BsaveFind: Counts the number of data structures which  *//*   must be saved in the binary image for the defmodules *//*   in the current environment.                          *//**********************************************************/static void BsaveFind(  void *theEnv)  {   struct defmodule *defmodulePtr;   struct portItem *theList;   /*=======================================================*/   /* If a binary image is already loaded, then temporarily */   /* save the count values since these will be overwritten */   /* in the process of saving the binary image.            */   /*=======================================================*/   SaveBloadCount(theEnv,DefmoduleData(theEnv)->BNumberOfDefmodules);   SaveBloadCount(theEnv,DefmoduleData(theEnv)->NumberOfPortItems);   /*==========================================*/   /* Set the count of defmodule and defmodule */   /* port items data structures to zero.      */   /*==========================================*/   DefmoduleData(theEnv)->BNumberOfDefmodules = 0;   DefmoduleData(theEnv)->NumberOfPortItems = 0;   /*===========================*/   /* Loop through each module. */   /*===========================*/   for (defmodulePtr = (struct defmodule *) EnvGetNextDefmodule(theEnv,NULL);        defmodulePtr != NULL;        defmodulePtr = (struct defmodule *) EnvGetNextDefmodule(theEnv,defmodulePtr))     {      /*==============================================*/      /* Increment the number of modules encountered. */      /*==============================================*/      DefmoduleData(theEnv)->BNumberOfDefmodules++;      /*===========================*/      /* Mark the defmodule's name */      /* as being a needed symbol. */      /*===========================*/      defmodulePtr->name->neededSymbol = TRUE;      /*==============================================*/      /* Loop through each of the port items in the   */      /* defmodule's import list incrementing the     */      /* number of port items encountered and marking */      /* needed symbols.                              */      /*==============================================*/      for (theList = defmodulePtr->importList;           theList != NULL;           theList = theList->next)        {         DefmoduleData(theEnv)->NumberOfPortItems++;         if (theList->moduleName != NULL)           { theList->moduleName->neededSymbol = TRUE; }         if (theList->constructType != NULL)           { theList->constructType->neededSymbol = TRUE; }         if (theList->constructName != NULL)           { theList->constructName->neededSymbol = TRUE; }        }      /*==============================================*/      /* Loop through each of the port items in the   */      /* defmodule's export list incrementing the     */      /* number of port items encountered and marking */      /* needed symbols.                              */      /*==============================================*/      for (theList = defmodulePtr->exportList;           theList != NULL;           theList = theList->next)        {         DefmoduleData(theEnv)->NumberOfPortItems++;         if (theList->moduleName != NULL)           { theList->moduleName->neededSymbol = TRUE; }         if (theList->constructType != NULL)           { theList->constructType->neededSymbol = TRUE; }         if (theList->constructName != NULL)           { theList->constructName->neededSymbol = TRUE; }        }     }  }/*********************************************************//* BsaveStorage: Writes out the storage requirements for *//*    all defmodule structures to the binary file.       *//*********************************************************/static void BsaveStorage(  void *theEnv,  FILE *fp)  {   size_t space;   space = sizeof(long) * 2;   GenWrite(&space,sizeof(size_t),fp);   GenWrite(&DefmoduleData(theEnv)->BNumberOfDefmodules,sizeof(long int),fp);   GenWrite(&DefmoduleData(theEnv)->NumberOfPortItems,sizeof(long int),fp);  }/*********************************************//* BsaveBinaryItem: Writes out all defmodule *//*   structures to the binary file.          *//*********************************************/static void BsaveBinaryItem(  void *theEnv,  FILE *fp)  {   size_t space;   struct defmodule *defmodulePtr;   struct bsaveDefmodule newDefmodule;   struct bsavePortItem newPortItem;   struct portItem *theList;   /*=========================================================*/   /* Write out the amount of space taken up by the defmodule */   /* and port item data structures in the binary image.      */   /*=========================================================*/   space = DefmoduleData(theEnv)->BNumberOfDefmodules * sizeof(struct bsaveDefmodule);   space += DefmoduleData(theEnv)->NumberOfPortItems * sizeof(struct bsavePortItem);   GenWrite(&space,sizeof(size_t),fp);   /*==========================================*/   /* Write out each defmodule data structure. */   /*==========================================*/   DefmoduleData(theEnv)->BNumberOfDefmodules = 0;   DefmoduleData(theEnv)->NumberOfPortItems = 0;   for (defmodulePtr = (struct defmodule *) EnvGetNextDefmodule(theEnv,NULL);        defmodulePtr != NULL;        defmodulePtr = (struct defmodule *) EnvGetNextDefmodule(theEnv,defmodulePtr))     {      newDefmodule.name = defmodulePtr->name->bucket;      DefmoduleData(theEnv)->BNumberOfDefmodules++;      if (defmodulePtr->next != NULL)        { newDefmodule.next = DefmoduleData(theEnv)->BNumberOfDefmodules; }      else        { newDefmodule.next = -1L; }      if (defmodulePtr->importList == NULL)        { newDefmodule.importList = -1L; }      else        {         newDefmodule.importList = DefmoduleData(theEnv)->NumberOfPortItems;         for (theList = defmodulePtr->importList;              theList != NULL;              theList = theList->next)           { DefmoduleData(theEnv)->NumberOfPortItems++; }        }      if (defmodulePtr->exportList == NULL)        { newDefmodule.exportList = -1L; }      else        {         newDefmodule.exportList = DefmoduleData(theEnv)->NumberOfPortItems;         for (theList = defmodulePtr->exportList;              theList != NULL;              theList = theList->next)           { DefmoduleData(theEnv)->NumberOfPortItems++; }        }      newDefmodule.bsaveID = defmodulePtr->bsaveID;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品污网站| 一区二区在线观看不卡| 狠狠色综合播放一区二区| 欧美一区在线视频| 日本欧美加勒比视频| 日韩欧美激情一区| 国产一区二区免费看| 国产欧美视频一区二区| 懂色av一区二区在线播放| 欧美剧在线免费观看网站| 国产视频一区二区在线| 麻豆91免费看| 国产视频一区二区在线| 日本精品视频一区二区| 天天综合网 天天综合色| 日韩三级免费观看| 成人性生交大片免费| 亚洲午夜电影在线观看| 666欧美在线视频| 国产精品自拍在线| 亚洲男人电影天堂| 欧美一区二区三区在线看| 国产精选一区二区三区| 国产精品白丝在线| 欧美一区三区四区| 成人免费看片app下载| 一二三区精品福利视频| 日韩欧美中文字幕制服| www.欧美日韩| 不卡视频在线观看| 亚洲电影一级片| 亚洲美女在线一区| 国内欧美视频一区二区| 欧美日韩一区 二区 三区 久久精品| 欧美剧在线免费观看网站| 亚洲国产高清在线观看视频| 免费成人你懂的| 欧美日产国产精品| 亚洲国产视频一区二区| 99久久伊人久久99| 久久丝袜美腿综合| 经典一区二区三区| 91精品国产一区二区| 亚洲精选视频在线| 在线观看视频一区二区| 亚洲精品日日夜夜| 欧美色窝79yyyycom| 久久精品国产99| 色噜噜狠狠色综合欧洲selulu| eeuss鲁片一区二区三区| 岛国精品一区二区| 欧美精品久久久久久久多人混战 | 欧美三级在线视频| 麻豆成人久久精品二区三区小说| 亚洲欧美日韩国产一区二区三区| 亚洲精品一区二区在线观看| 欧美在线啊v一区| 成人黄色网址在线观看| 狠狠色综合播放一区二区| 亚洲成av人片在线| 有码一区二区三区| 国产精品久久久久婷婷| 精品成人免费观看| 亚洲色图欧洲色图| 国产三级三级三级精品8ⅰ区| 在线成人免费视频| 欧美三级日韩三级国产三级| 99精品在线免费| 高清在线观看日韩| 丰满岳乱妇一区二区三区| 国产美女精品一区二区三区| 久久精品国产久精国产| 日韩va亚洲va欧美va久久| 亚洲h在线观看| 亚洲一二三四区| 国产精品久久福利| 成人欧美一区二区三区在线播放| 欧美激情综合五月色丁香小说| 久久综合色综合88| 久久久精品人体av艺术| 精品国产凹凸成av人网站| 精品国产一区二区三区久久久蜜月| 91精品国产美女浴室洗澡无遮挡| 欧美日韩国产欧美日美国产精品| 在线观看av不卡| 欧美三电影在线| 在线播放91灌醉迷j高跟美女| 欧美日本高清视频在线观看| 欧美嫩在线观看| 日韩女优视频免费观看| 欧美成人女星排名| 久久久久久久电影| 国产精品你懂的在线欣赏| 国产精品久久久久久久久图文区 | 2014亚洲片线观看视频免费| 欧美xxxx老人做受| 国产日产欧美一区二区视频| 国产精品剧情在线亚洲| 亚洲欧美另类小说| 日韩精品91亚洲二区在线观看| 日韩精品免费专区| 国产麻豆精品在线观看| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 91黄色免费观看| 欧美精选在线播放| 久久久久久久综合狠狠综合| 国产女人aaa级久久久级| 亚洲色图在线视频| 丝袜美腿成人在线| 国产激情一区二区三区| 在线区一区二视频| 欧美成人官网二区| 椎名由奈av一区二区三区| 亚洲h在线观看| 国产91在线|亚洲| 亚洲乱码中文字幕| 亚洲乱码精品一二三四区日韩在线| 另类小说欧美激情| 国产激情视频一区二区三区欧美| 99精品欧美一区二区三区小说 | 色又黄又爽网站www久久| 欧美最新大片在线看| 欧美成人欧美edvon| 亚洲六月丁香色婷婷综合久久| 天堂av在线一区| 国产盗摄一区二区三区| 欧美性受xxxx黑人xyx| 精品国产免费一区二区三区四区| 国产精品高潮久久久久无| 天堂精品中文字幕在线| 成人小视频在线观看| 欧美精品tushy高清| 国产精品久久久久天堂| 激情图片小说一区| 精品视频一区二区不卡| 国产日产欧美一区二区三区| 天天色 色综合| 99国产一区二区三精品乱码| 日韩精品影音先锋| 亚洲五月六月丁香激情| 不卡一区中文字幕| 久久久噜噜噜久噜久久综合| 日日夜夜免费精品| 色偷偷成人一区二区三区91| 久久亚洲免费视频| 欧美aaaaaa午夜精品| 欧亚一区二区三区| 亚洲欧美一区二区在线观看| 经典三级在线一区| 日韩一区二区在线观看视频| 亚洲高清视频在线| 亚洲精品中文字幕在线观看| 国产在线视频精品一区| 国产精品三级视频| 日韩欧美在线一区二区三区| 亚洲一线二线三线视频| 色噜噜狠狠成人网p站| 一区二区三区在线观看动漫| 欧日韩精品视频| 日韩成人精品视频| 久久综合九色综合欧美就去吻| 久久精品国产久精国产爱| 国产午夜精品在线观看| 99久久精品免费观看| 国产福利一区二区三区视频| 成人国产精品免费网站| 日韩欧美在线网站| 美女视频黄a大片欧美| 亚洲美女淫视频| 中文字幕在线播放不卡一区| 欧美综合亚洲图片综合区| 久久99精品久久只有精品| 国产精品福利在线播放| 欧美日韩高清一区二区不卡| 国产一级精品在线| 亚洲高清久久久| 亚洲综合男人的天堂| 日韩欧美激情一区| 色先锋aa成人| 国产精品一区二区三区99| 亚洲午夜影视影院在线观看| 久久这里只有精品6| 色婷婷综合五月| 国内成人免费视频| 亚洲成人资源在线| 日韩美女啊v在线免费观看| 91精品久久久久久久99蜜桃 | 中文字幕亚洲区| 欧美精品久久一区二区三区| 欧美性色黄大片| 色婷婷国产精品综合在线观看| 亚洲欧美中日韩| 色婷婷国产精品| 国产精品1区2区3区| 午夜电影一区二区| 亚洲色图色小说| 国产在线精品不卡| 欧美不卡一区二区三区四区| 奇米在线7777在线精品| jlzzjlzz欧美大全|