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

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

?? standard.shar

?? c語言開發方面的經典問題,包括源代碼.c語言開發所要注意的問題,以及在嵌入式等各方面的應用
?? SHAR
?? 第 1 頁 / 共 5 頁
字號:
#! /bin/sh# This is a shell archive.  Remove anything before this line, then unpack# it by saving it into a file and typing "sh file".  To overwrite existing# files, type "sh file -c".  You can also feed this as standard input via# unshar, or by typing "sh <file", e.g..  If this archive is complete, you# will see the following message at the end:#		"End of shell archive."# Contents:  cslib cslib/Makefile cslib/exception.c cslib/exception.h#   cslib/gcalloc.h cslib/genlib.c cslib/genlib.h cslib/graphics.c#   cslib/graphics.h cslib/random.c cslib/random.h cslib/simpio.c#   cslib/simpio.h cslib/strlib.c cslib/strlib.h# Wrapped by eroberts@Eeyore.Stanford.EDU on Fri Feb 24 19:44:56 1995PATH=/bin:/usr/bin:/usr/ucb ; export PATHif test ! -d 'cslib' ; then    echo shar: Creating directory \"'cslib'\"    mkdir 'cslib'fiif test -f 'cslib/Makefile' -a "${1}" != "-c" ; then   echo shar: Will not clobber existing file \"'cslib/Makefile'\"elseecho shar: Extracting \"'cslib/Makefile'\" \(2146 characters\)sed "s/^X//" >'cslib/Makefile' <<'END_OF_FILE'X# Makefile for cslib/standard directoryX# Last modified on Thu Oct 20 13:49:04 1994 by erobertsX#****************************************************************XXOBJECTS = \X    genlib.o \X    exception.o \X    strlib.o \X    simpio.o \X    random.o \X    graphics.oXXCSLIB = cslib.aXXCC = gccXCFLAGS = -g -I. $(CCFLAGS)XX# ***************************************************************X# Entry to bring the package up to dateX#    The "make all" entry should be the first real entryXXall: $(CSLIB) gccxXX# ***************************************************************X# Standard entries to remove files from the directoriesX#    tidy    -- eliminate unwanted filesX#    clean   -- delete derived files in preparation for rebuildX#    scratch -- synonym for cleanXXtidy:X	rm -f ,* .,* *~ core a.out *.errXXclean scratch: tidyX	rm -f *.o *.a gccxXX# ***************************************************************X# C compilationsXXgenlib.o: genlib.c genlib.h exception.h gcalloc.hX	$(CC) $(CFLAGS) -c genlib.cXXexception.o: exception.c exception.h genlib.hX	$(CC) $(CFLAGS) -c exception.cXXstrlib.o: strlib.c strlib.h genlib.hX	$(CC) $(CFLAGS) -c strlib.cXXsimpio.o: simpio.c simpio.h strlib.h genlib.hX	$(CC) $(CFLAGS) -c simpio.cXXgraphics.o: graphics.c graphics.h genlib.hX	$(CC) $(CFLAGS) -c graphics.cXXrandom.o: random.c random.h genlib.hX	$(CC) $(CFLAGS) -c random.cXX# ***************************************************************X# Entry to reconstruct the library archiveXX$(CSLIB): $(OBJECTS)X	-rm -f $(CSLIB)X	ar cr $(CSLIB) $(OBJECTS)X	ranlib $(CSLIB)XX# ***************************************************************X# Entry to reconstruct the gccx scriptXXgccx: MakefileX	@echo '#! /bin/csh -f' > gccxX	@echo 'set INCLUDE =' `pwd` >> gccxX	@echo 'set CSLIB = $$INCLUDE/cslib.a' >> gccxX	@echo 'set LIBRARIES = ($$CSLIB -lm)' >> gccxX	@echo 'foreach x ($$*)' >> gccxX	@echo '  if ("x$$x" == "x-c") then' >> gccxX	@echo '    set LIBRARIES = ""' >> gccxX	@echo '    break' >> gccxX	@echo '  endif' >> gccxX	@echo 'end' >> gccxX	@echo 'gcc -g -I$$INCLUDE $$* $$LIBRARIES' >> gccxX	@chmod a+x gccxX	@echo '[gccx script created]'END_OF_FILEif test 2146 -ne `wc -c <'cslib/Makefile'`; then    echo shar: \"'cslib/Makefile'\" unpacked with wrong size!fi# end of 'cslib/Makefile'fiif test -f 'cslib/exception.c' -a "${1}" != "-c" ; then   echo shar: Will not clobber existing file \"'cslib/exception.c'\"elseecho shar: Extracting \"'cslib/exception.c'\" \(3276 characters\)sed "s/^X//" >'cslib/exception.c' <<'END_OF_FILE'X/*X * File: exception.cX * Version: 1.0X * Last modified on Sun Jul 24 10:28:11 1994 by erobertsX * -----------------------------------------------------X * This file implements the C exception handler.  Much of theX * real work is done in the exception.h header file.X */XX#include <stdio.h>X#include <stdarg.h>XX#include "genlib.h"X#include "gcalloc.h"X#include "exception.h"XX/*X * Constant: MaxUnhandledMessageX * -----------------------------X * This constant should be large enough to accommodate theX * unhandled exception message, including the exception name.X */XX#define MaxUnhandledMessage 100XX/* Publically accessible exceptions */XXexception ANY = { "ANY" };Xexception ErrorException = { "ErrorException" };XX/*X * Global variable: exceptionStackX * -------------------------------X * This variable is the head pointer to a linked list ofX * context blocks that act as the exception stack.  The chainX * pointer is referenced by the macros in exception.h and mustX * therefore be exported, but clients should not reference itX * directly.X */XXcontext_block *exceptionStack = NULL;XX/* Private function prototypes */XXstatic context_block *FindHandler(exception *e);XX/* Public entries */XX/*X * Function: RaiseExceptionX * ------------------------X * This function operates by finding an appropriate handlerX * and then using longjmp to return to the context storedX * there after resetting the exception stack.  If no handlerX * exists, the function notes an unhandled exception.  MuchX * of the complexity comes from the fact that allocationX * within the exception handler may fail.X */XXvoid RaiseException(exception *e, string name, void *value)X{X    context_block *cb;X    char errbuf[MaxUnhandledMessage + 1];X    string errmsg;X    int errlen;XX    cb = FindHandler(e);X    if (cb == NULL) {X        sprintf(errbuf, "Unhandled exception (%.30s)", name);X        errlen = strlen(errbuf);X        if (_acb == NULL) {X            errmsg = malloc(errlen + 1);X        } else {X            errmsg = _acb->allocMethod(errlen + 1);X        }X        if (errmsg == NULL) {X            errmsg = "Unhandled exception: unknown";X        } else {X            strcpy(errmsg, errbuf);X        }X        Error(errmsg);X    }X    exceptionStack = cb;X    cb->id = e;X    cb->value = value;X    cb->name = name;X    longjmp(cb->jmp, ES_Exception);X}XX/*X * Function: HandlerExistsX * -----------------------X * This public entry is used primarily by the Error functionX * to determine if ErrorException has been trapped, althoughX * it is available to other clients as well.X */XXbool HandlerExists(exception *e)X{X    return (FindHandler(e) != NULL);X}XX/* Private functions */XX/*X * Function: FindHandlerX * ---------------------X * This function searches the exception stack to find theX * first active handler for the indicated exception.  If aX * match is found, the context block pointer is returned.X * If not, FindHandler returns NULL.X */XXstatic context_block *FindHandler(exception *e)X{X    context_block *cb;X    exception *t;X    int i;XX    for (cb = exceptionStack; cb != NULL; cb = cb->link) {X        for (i = 0; i < cb->nx; i++) {X            t = cb->array[i];X            if (t == e || t == &ANY) return (cb);X        }X    }X    return (NULL);X}END_OF_FILEif test 3276 -ne `wc -c <'cslib/exception.c'`; then    echo shar: \"'cslib/exception.c'\" unpacked with wrong size!fi# end of 'cslib/exception.c'fiif test -f 'cslib/exception.h' -a "${1}" != "-c" ; then   echo shar: Will not clobber existing file \"'cslib/exception.h'\"elseecho shar: Extracting \"'cslib/exception.h'\" \(7974 characters\)sed "s/^X//" >'cslib/exception.h' <<'END_OF_FILE'X/*X * File: exception.hX * Version: 1.0X * Last modified on Sat Nov 19 16:36:26 1994 by erobertsX * -----------------------------------------------------X * The exception package provides a general exceptionX * handling mechanism for use with C that is portableX * across a variety of compilers and operating systems.X */XX#ifndef _exception_hX#define _exception_hXX/*X * Overview:X * --------X * The exception package makes it possible for clients toX * specify a handler for an exceptional conditions in aX * syntactically readable way.  As a client, your first stepX * is to declare an exception condition name by declaringX * a variable of type exception, as inX *X *       exception MyException;X *X * Normal visibility rules apply, so that you should declareX * the exception variable at the appropriate level.  ForX * example, if an exception is local to an implementation,X * it should be declared statically within that module.  IfX * an exception condition is shared by many modules, theX * exception variable should be declared in an interfaceX * and exported to all clients that need it.  This packageX * defines and exports the exception ErrorException, whichX * is likely to be sufficient for many clients.X *X * The basic functionality of exceptions is that one pieceX * of code can "raise" an exception so that it can then beX * "handled" by special code in a dynamically enclosingX * section of the program.  Exceptions are raised by callingX * the pseudo-function raise with the exception name, as inX *X *     raise(MyException);X *X * Exceptions are handled using the "try" statementX * (actually implemented using macros), which has the form:X *X *     try {X *        . . . statements in the body of the block . . .X *     except(exception1)X *        . . . statements to handle exception 1 . . .X *     except(exception2)X *        . . . statements to handle exception 2 . . .X *     except(ANY)X *        . . . statements to handle any exception . . .X *     } endtryX *X * Any number of except clauses may appear (up to aX * maximum defined by the constant MaxExceptionsPerScope),X * and the ANY clause is optional.X *X * When the program encounters the "try" statement, theX * statements in the body are executed.  If no exceptionX * conditions are raised during that execution, eitherX * in this block or by a function call nested insideX * this block, control passes to the end of the "try"X * statement when the last statement in the block isX * executed.  If an exception is raised during theX * dynamic execution of the block, control immediatelyX * passes to the statements in the appropriate exceptX * clause.  Only the statements in that clause areX * executed; no break statement is required to exitX * the block.  If no handler for the raised exceptionX * appears anywhere in the control history, the programX * exits with an error.X *X * Examples of use:X *X * 1.  Catching errors.X *X * The following code fragment traps calls to Error, soX * that the program does not quit but instead returnsX * to the top-level read-and-execute loop.X *X *     while (TRUE) {X *         try {X *             printf("> ");X *             cmd = ReadCommand();X *             ExecuteCommand(cmd);X *         except(ErrorException)X *             printf("Error: %s\n", (string) GetExceptionValue());X *             -- additional handling code, if any --X *         } endtryX *     }X *X * If either ReadCommand or ExecuteCommand calls Error,X * control will be passed back to the main loop, afterX * executing any additional handler code.  The errorX * message is passed as the exception value and can beX * printed as shown in the example.X *X * 2.  Handling control-CX *X * The following code extends the example above so thatX * typing ^C also returns to top-level.X *X *     #include <signal.h>X *X *     static exception ControlCException;X *     static int errorCount = 0;X *     static int ControlCHandler();X *X *     main()X *     {X *         string cmd;X *X *         signal(SIGINT, ControlCHandler);X *         while (TRUE) {X *             try {X *                 printf("> ");X *                 cmd = ReadCommand();X *                 ExecuteCommand(cmd);X *             except(ControlCException);X *                 printf("^C\n");X *                 signal(SIGINT, ControlCHandler);X *             except(ErrorException)X *                 errorCount++;X *             } endtryX *         }X *     }X *X *     static int ControlCHandler()X *     {X *         raise(ControlCException);X *     }X */XX/*X * Actual interface specificationX * ------------------------------X * Most of the implementation of the exception mechanism isX * actually done in the macros defined by this file.X * Clients should ordinarily be able to read the descriptionX * above and ignore the detailed code below.X */XX#include <setjmp.h>X#include <string.h>X#include "genlib.h"XX/* Define parameters and error status indicators */XX#define MaxExceptionsPerScope 10X#define ETooManyExceptClauses 101X#define EUnhandledException 102XX/* Codes to keep track of the state of the try handler */XX#define ES_Initialize 0X#define ES_EvalBody 1X#define ES_Exception 2XX/*X * Type: exceptionX * ---------------X * Exceptions are specified by their address, so that theX * actual structure does not matter.  Strings are used hereX * so that exporters of exceptions can store the exceptionX * name for the use of debuggers and other tools.X */XXtypedef struct { string name; } exception;XX/*X * Type: context_blockX * -------------------X * This structure is used internally to maintain a chain ofX * exception scopes on the control stack.X */XXtypedef struct ctx_block {X    jmp_buf jmp;X    int nx;X    exception *array[MaxExceptionsPerScope];X    exception *id;X    void *value;X    string name;X    struct ctx_block *link;X} context_block;XX/* Declare the built-in exceptions */XXextern exception ErrorException;Xextern exception ANY;XX/* Declare a global pointer to the context stack */XXextern context_block *exceptionStack;XX/*

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美国产三级电影视频| 欧美主播一区二区三区| 99精品欧美一区| 91.麻豆视频| 国产亚洲一区字幕| 一区二区三区四区高清精品免费观看| 日日欢夜夜爽一区| 91小视频免费观看| 2017欧美狠狠色| 日本午夜精品视频在线观看| 久久不见久久见中文字幕免费| 日韩视频免费观看高清在线视频| 一区二区成人在线| 日韩欧美不卡在线观看视频| 国内一区二区在线| 欧美国产在线观看| 国产一区二区三区在线观看免费视频| 亚洲视频在线一区观看| 久久久精品人体av艺术| 亚洲精品在线免费观看视频| 久久精品日韩一区二区三区| 亚洲gay无套男同| 色综合av在线| 国产精品乱码一区二区三区软件| 蜜桃av一区二区三区| 欧美日本一区二区| 亚洲高清免费在线| 欧美网站大全在线观看| 一区二区三区国产精品| 色综合中文综合网| 69久久夜色精品国产69蝌蚪网| 亚洲视频在线一区| 91香蕉视频黄| 亚洲欧洲一区二区在线播放| 国产成人精品免费看| 久久久久国产精品厨房| 国产精品一二一区| 久久久久国产成人精品亚洲午夜| 国内精品写真在线观看| 久久综合成人精品亚洲另类欧美| 另类调教123区| 久久久亚洲午夜电影| 国产大陆a不卡| 国产精品网友自拍| 99久久精品一区| 亚洲综合精品久久| 欧美理论在线播放| 日本aⅴ亚洲精品中文乱码| 日韩精品中文字幕在线一区| 精品一区二区影视| 日本一区二区视频在线观看| 成人高清免费观看| 亚洲男人的天堂网| 欧美日韩一卡二卡三卡| 久久国产麻豆精品| 中文字幕成人网| 色婷婷久久久久swag精品| 午夜电影一区二区| www久久久久| 久久美女艺术照精彩视频福利播放 | a在线欧美一区| 色婷婷久久久久swag精品 | 亚洲成年人网站在线观看| 一区二区三区电影在线播| 亚洲一二三四在线观看| av在线不卡网| 天天操天天综合网| 日韩福利电影在线| 91麻豆精品秘密| 精品国产第一区二区三区观看体验| 国产精品的网站| 欧美中文字幕不卡| 玖玖九九国产精品| 成人免费在线观看入口| 欧美精品三级日韩久久| 国产不卡在线播放| 午夜欧美大尺度福利影院在线看| 精品乱码亚洲一区二区不卡| 91视视频在线直接观看在线看网页在线看| 亚洲国产精品久久不卡毛片| 精品国产免费久久| 在线精品视频一区二区| 91免费看片在线观看| 欧美一级高清片在线观看| 日韩精品一二三| 中文字幕制服丝袜成人av| 91精品国产高清一区二区三区蜜臀| 国产成人精品一区二区三区四区 | 久久亚洲精华国产精华液 | 久久久久国产成人精品亚洲午夜| 欧美午夜在线观看| av在线不卡电影| 午夜精品一区在线观看| 欧美一区二区三区喷汁尤物| 夜夜嗨av一区二区三区| 色婷婷综合久久久中文字幕| 日本少妇一区二区| 亚洲女同一区二区| 一卡二卡三卡日韩欧美| 国产一区二区按摩在线观看| 91在线高清观看| 国产一区二区不卡老阿姨| 亚洲婷婷国产精品电影人久久| 精品视频色一区| 国产精品一二一区| 欧美性做爰猛烈叫床潮| 色成人在线视频| 日韩精品国产精品| 中文在线免费一区三区高中清不卡| 欧美在线三级电影| 毛片一区二区三区| 日韩一级片网址| 国产不卡在线一区| 亚洲同性同志一二三专区| 成人免费精品视频| 亚洲欧洲韩国日本视频| 亚洲欧美电影一区二区| 久久精品夜夜夜夜久久| 精品少妇一区二区三区免费观看| 91国内精品野花午夜精品| 蜜乳av一区二区三区| 亚洲欧洲精品一区二区三区| 国产成a人亚洲| 首页综合国产亚洲丝袜| 亚洲免费色视频| 不卡区在线中文字幕| 91丨九色丨蝌蚪富婆spa| 97精品国产露脸对白| 国产一区中文字幕| 青青草97国产精品免费观看| 91原创在线视频| 色偷偷88欧美精品久久久| 久久久影院官网| 精品一区二区久久久| 欧美色视频在线观看| 伊人夜夜躁av伊人久久| 9久草视频在线视频精品| 2020国产精品自拍| 加勒比av一区二区| 久久综合中文字幕| 亚洲国产精品成人综合| 亚洲精品你懂的| 色久综合一二码| 日韩电影网1区2区| 欧美一级搡bbbb搡bbbb| 九色|91porny| 国产女同性恋一区二区| 91麻豆成人久久精品二区三区| 国产精品毛片高清在线完整版| 国产精品一二三区在线| 中文字幕中文字幕一区二区| 国产精品自拍网站| 欧美狂野另类xxxxoooo| 亚洲一级二级在线| 欧美巨大另类极品videosbest | 欧洲国内综合视频| 91在线播放网址| 欧美日韩激情一区二区| 欧美精品一区二区三| 国产精品丝袜在线| 亚洲视频一二三区| 亚洲丰满少妇videoshd| 久久超级碰视频| 国产亚洲一区字幕| 91天堂素人约啪| 一色桃子久久精品亚洲| 色猫猫国产区一区二在线视频| 亚洲成人免费看| 久久精品一区八戒影视| 日本高清免费不卡视频| 另类小说欧美激情| 亚洲免费观看高清完整版在线观看 | www精品美女久久久tv| www.66久久| 香港成人在线视频| 国产欧美一区二区三区鸳鸯浴| 99视频在线精品| 日本在线不卡一区| 国产精品妹子av| 日韩欧美你懂的| 欧美性猛交xxxxxx富婆| 国产乱子伦视频一区二区三区 | 亚洲人吸女人奶水| 精品日韩成人av| 91精品在线观看入口| 91蜜桃在线免费视频| 成人av资源在线| 一区二区高清视频在线观看| 99久久久久久99| 亚洲欧洲色图综合| 亚洲精品一区在线观看| 成人综合在线视频| 国产欧美日韩久久| 99热99精品| 久久福利资源站| 亚洲欧美色图小说| 久久久激情视频| 久久亚洲精品小早川怜子| av不卡在线观看| 三级不卡在线观看|