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

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

?? tmemcheck.c

?? memory test check for embeded linux
?? C
?? 第 1 頁 / 共 2 頁
字號:
/****************************************************************************** *  Memory Checker                                                            * *  Copyright (C) 2002  Hal Duston                                            * *                                                                            * *  This program is free software; you can redistribute it and/or modify      * *  it under the terms of the GNU General Public License as published by      * *  the Free Software Foundation; either version 2 of the License, or         * *  (at your option) any later version.                                       * *                                                                            * *  This program is distributed in the hope that it will be useful,           * *  but WITHOUT ANY WARRANTY; without even the implied warranty of            * *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the             * *  GNU General Public License for more details.                              * *                                                                            * *  You should have received a copy of the GNU General Public License         * *  along with this program; if not, write to the Free Software               * *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA * *                                                                            * ******************************************************************************/#ifdef HAVE_CONFIG_H# include <config.h>#endif#ifdef HAVE_ERRNO_H# include <errno.h>#endif#ifndef HAVE_DECL_ERRNOextern int errno;#endif#include <stdio.h>#ifdef STDC_HEADERS# include <stdlib.h># include <stddef.h>#else# ifdef HAVE_STDLIB_H#  include <stdlib.h># endif#endif#ifdef HAVE_SIGNAL_H# include <signal.h>#endif#ifdef HAVE_STRING_H# include <string.h>#else# ifdef HAVE_STRINGS_H#  include <strings.h># endif#endif#ifdef HAVE_SETJMP_H# include <setjmp.h>#endif#ifdef HAVE_UNISTD_H# include <unistd.h>#endif#ifdef HAVE_FCNTL_H# include <fcntl.h>#endif#ifdef HAVE_MALLOC_H# include <malloc.h>#endif/* This mess was copied from the autoconf acspecific.m4, *//* which in turn was copied from the GNU getpagesize.h. */#ifndef HAVE_GETPAGESIZE# ifdef _SC_PAGESIZE#  define getpagesize() sysconf(_SC_PAGESIZE)# else /* no _SC_PAGESIZE */#  ifdef HAVE_SYS_PARAM_H#   include <sys/param.h>#   ifdef EXEC_PAGESIZE#    define getpagesize() EXEC_PAGESIZE#   else /* no EXEC_PAGESIZE */#    ifdef NBPG#     define getpagesize() NBPG * CLSIZE#     ifndef CLSIZE#      define CLSIZE 1#     endif /* no CLSIZE */#    else /* no NBPG */#     ifdef NBPC#      define getpagesize() NBPC#     else /* no NBPC */#      ifdef PAGESIZE#       define getpagesize() PAGESIZE#      endif /* no PAGESIZE */#     endif /* no NBPC */#    endif /* no NBPG */#   endif /* no EXEC_PAGESIZE */#  else /* no HAVE_SYS_PARAM_H */#   define getpagesize() 8192 /* punt totally */#  endif /* no HAVE_SYS_PARAM_H */# endif /* no _SC_PAGESIZE */#elseextern int getpagesize(void);#endif /* no HAVE_GETPAGESIZE */#include "memcheck.h"                                                                                                                                               #define MEMCHECK_INFO 3#define MEMCHECK_WARN 2#define MEMCHECK_ERROR 1#define MEMCHECK_NONE 0#define check_result_error(string,check) \   check_result(string,check,1)#define check_result_warn(string,check) \   check_result(string,check,77)#define check_result(string,check,result) \   if(printf("Checking %s\t: ", string) < 0) \   { \      tmemcheck_error("printf"); \   } \   if(check) \   { \      if(printf("passed\n") < 0) \      { \         tmemcheck_error("printf"); \      } \   } \   else \   { \      if(printf("failed\n") < 0) \      { \         tmemcheck_error("printf"); \      } \      if(tmemcheck_result == 0) \      { \         tmemcheck_result = result; \      } \      else \      { \         tmemcheck_result = result < tmemcheck_result \                          ? result : tmemcheck_result; \      } \   }#define check_result_error_in_log(string, tlevel, text) \   if(tmemcheck_config.level >= tlevel) \   { \      if(tmemcheck_log < 0) \      { \         tmemcheck_log = open("memcheck.log", O_RDONLY); \      } \      if(tmemcheck_log >= 0) \      { \         read(tmemcheck_log, buffer, sizeof(buffer) - 1); \         lseek(tmemcheck_log, 0, SEEK_END); \         check_result_error(string, \                            !memcmp(buffer, text, strlen(text) - 1)); \      } \   }struct tmemcheck_config{   int underruns;   int level;   size_t large;   size_t limit;};static struct tmemcheck_config tmemcheck_config;static int tmemcheck_result;int main(int argc, char *argv[]);static void tmemcheck_exit(void);#ifdef HAVE_SIGINFO_Tstatic RETSIGTYPE tmemcheck_handler(int signum,                                    siginfo_t *info,                                    void *context,                                    void *address);#elsestatic RETSIGTYPE tmemcheck_handler(int signum,                                    int code,                                    void *context,                                    void *address);#endifstatic void tmemcheck_error(const char *s);static sig_atomic_t tmemcheck_signalled;static sig_atomic_t tmemcheck_setjmp_active;#ifdef HAVE_SIGJMP_BUFstatic sigjmp_buf tmemcheck_handler_env;#else# ifdef HAVE_JMP_BUFstatic jmp_buf tmemcheck_handler_env;# endif#endifstatic int tmemcheck_log = -1;static int tmemcheck_fail = -1;int main(int argc, char *argv[]){   const char *val;   const char *env;   static char memcheck[] = "memcheck";   static char *s1;   static char *s2;   unsigned long line[3];   char buffer[1024];   size_t pagesize;   unsigned count;   unsigned align;   unsigned bit;#ifdef HAVE_SIGACTION# ifdef HAVE_SIGACTION_T   sigaction_t act;# else#  ifdef HAVE_STRUCT_SIGACTION   struct sigaction act;#  endif# endif#endif   (void)argc;   (void)argv;   unlink("memcheck.log");   if(atexit(tmemcheck_exit))   {      tmemcheck_error("atexit");   }   if(setvbuf(stdout, NULL, _IONBF, 0))   {      tmemcheck_error("setvbuf");   }   pagesize = getpagesize();   if((env = getenv("MEMCHECK")))   {      if(strstr(env, "under"))      {         tmemcheck_config.underruns = 1;      }      if((val = strstr(env, "level=")))      {         if(val[6] == 'i')         {            tmemcheck_config.level = MEMCHECK_INFO;         }         if(val[6] == 'w')         {            tmemcheck_config.level = MEMCHECK_WARN;         }         if(val[6] == 'e')         {            tmemcheck_config.level = MEMCHECK_ERROR;         }      }      if((val = strstr(env, "large=")))      {         tmemcheck_config.large = atoi(&val[6]);      }      if((val = strstr(env, "limit=")))      {         char *modifier;                                                                                                                                                        tmemcheck_config.limit = strtol(&val[6], &modifier, 10);         if(modifier[0] == 'k' || modifier[0] == 'K')         {            tmemcheck_config.limit *= 1024;         }         if(modifier[0] == 'm' || modifier[0] == 'M')         {            tmemcheck_config.limit *= 1024 * 1024;         }         if(modifier[0] == 'g' || modifier[0] == 'G')         {            tmemcheck_config.limit *= 1024 * 1024 * 1024;         }         tmemcheck_config.limit /= pagesize;      }   }/* Basic functionality checking,   based on validations in   "The Standard C Library"   by P J Plauger.  */   check_result_error("malloc return value",\                      (s1 = malloc(sizeof(memcheck))) != NULL);   check_result_error("malloc writable",\                      strcpy(s1, memcheck) != NULL)   check_result_error("malloc readable",\                      !strcmp(s1, memcheck));   check_result_error("calloc return value",\                      (s2 = calloc(sizeof(memcheck), 1)) != NULL);   check_result_error("calloc initialization",\                      s2[0] == 0                         && !memcmp(&s2[0], &s2[1], sizeof(memcheck) - 1));   check_result_error("calloc writable",\                      strcpy(s2, memcheck) != NULL);   check_result_error("calloc readable",\                      !strcmp(s2, memcheck));   check_result_error("realloc increase",\                      (s1 = realloc(s1, 2 * sizeof(memcheck) - 1)) != NULL);   check_result_error("realloc inc writable",\                      strcat(s1, memcheck) != NULL);   check_result_error("realloc inc readable",\                      !strcmp(&s1[sizeof(memcheck) - 1], memcheck));   check_result_error("realloc orig readable",\                      !memcmp(s1, memcheck, sizeof(memcheck) - 1));   check_result_error("realloc decrease",\                      (s1 = realloc(s1, sizeof(memcheck))) != NULL);   check_result_error("realloc dec writeable",\                      !(s1[sizeof(memcheck) - 1] = 0));   check_result_error("realloc dec readable",\                      !memcmp(s1, memcheck, sizeof(memcheck) - 1));   free(s2);   free(s1);   /*    * The POSIX Standard (IEEE Std 1003.1-200x) defers to the ISO C standard.    * The ISO C Standard (ISO 9899:1990) states:    *    * "If the space requested is zero, the behaviour is implementation-defined;    * the value returned shall be either a null pointer or a unique pointer."    *    * This implementation always returns a unique pointer.    */   check_result_error("malloc size zero",                      (s1 = malloc(0)) != NULL);   check_result_error_in_log("malloc size zero log", MEMCHECK_INFO, "Zero size");   check_result_error("malloc zero unique",                      (s2 = malloc(0)) != s1);   check_result_error_in_log("malloc zero unique log", MEMCHECK_INFO, "Zero size");   free(s2);   free(s1);   check_result_error("calloc size zero",                      (s1 = calloc(1, 0)) != NULL);   check_result_error_in_log("calloc size zero log", MEMCHECK_INFO, "Zero size");   check_result_error("calloc zero items",                      (s2 = calloc(0, 1)) != NULL);   check_result_error("calloc zero unique",                      s2 != s1);   free(s2);   check_result_error("realloc size zero",                      (s1 = realloc(s1, 0)) != NULL);   check_result_error_in_log("realloc size zero log", MEMCHECK_INFO, "Zero size");   check_result_error("realloc NULL pointer",                      (s2 = realloc(NULL, 0)) != NULL);   check_result_error_in_log("realloc NULL ptr log", MEMCHECK_INFO, "NULL pointer");   free(s2);   free(NULL);   check_result_error_in_log("free NULL ptr log", MEMCHECK_INFO, "NULL pointer");#ifdef HAVE_SIGACTION# ifdef HAVE_SIGINFO_T   act.sa_sigaction = (RETSIGTYPE (*)(int signum,        /* Cast away 4th arg */                             siginfo_t *info,         /* (address) that SunOS */                             void *context))tmemcheck_handler;  /* _may_ have */   act.sa_flags = SA_SIGINFO;# else   act.sa_handler = (RETSIGTYPE (*)(int))tmemcheck_handler;   act.sa_flags = 0;# endif   if(!sigemptyset(&act.sa_mask))   {      if(sigaction(SIGSEGV, &act, NULL))      {         tmemcheck_error("sigaction");      }      if(sigaction(SIGBUS, &act, NULL))      {         tmemcheck_error("sigaction");      }   }   else   {      tmemcheck_error("sigemptyset");   }#endif   if(printf("Checking %s %d\t: ", "realloc loop of", 1024) < 0)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91日韩在线专区| 中文字幕一区av| 久久久美女毛片 | 91成人在线观看喷潮| 欧美人与z0zoxxxx视频| 久久综合视频网| 一区二区三区免费在线观看| 蜜臀av一级做a爰片久久| 成人黄色小视频| 欧美一区二区私人影院日本| 国产精品免费看片| 日本成人在线视频网站| 91影院在线观看| 久久久久久电影| 日本成人在线网站| 在线观看日韩一区| 欧美激情综合五月色丁香| 五月婷婷激情综合| aaa国产一区| 久久九九久久九九| 免费欧美在线视频| 欧美亚洲国产怡红院影院| 中文字幕的久久| 精品一区二区三区在线播放| 欧美调教femdomvk| 亚洲精品自拍动漫在线| 国产成人亚洲综合a∨猫咪| 制服丝袜国产精品| 亚洲国产日韩av| 97se亚洲国产综合自在线| 国产日韩亚洲欧美综合| 久久精品免费观看| 91精品国产综合久久精品app | 亚洲综合色网站| 成人黄色免费短视频| 精品国产免费一区二区三区四区 | 久久久99精品免费观看| 日av在线不卡| 欧美日韩亚洲综合| 亚洲永久免费视频| aaa亚洲精品| 综合色天天鬼久久鬼色| 成人av资源下载| 国产欧美日韩一区二区三区在线观看| 麻豆一区二区三区| 日韩欧美一级二级三级久久久| 亚洲午夜精品网| 欧美日韩一区在线| 视频一区欧美精品| 欧美日韩成人综合在线一区二区| 亚洲一级二级在线| 欧美日韩精品三区| 调教+趴+乳夹+国产+精品| 欧美在线|欧美| 日韩中文字幕1| 日韩亚洲欧美高清| 激情五月播播久久久精品| 精品国产亚洲在线| 国产成人a级片| 国产欧美精品一区二区三区四区 | 五月婷婷综合网| 欧美精品乱码久久久久久按摩| 五月天精品一区二区三区| 欧美精品久久久久久久久老牛影院| 午夜日韩在线观看| 欧美电影免费观看完整版| 狠狠色狠狠色合久久伊人| 国产亚洲欧美中文| 99精品国产99久久久久久白柏| 亚洲欧美日韩在线| 在线成人av网站| 国产精品自拍毛片| 亚洲精品免费在线| 欧美一区二区精美| 成人毛片视频在线观看| 亚洲自拍偷拍九九九| 日韩一区二区免费视频| 国产激情视频一区二区三区欧美 | 午夜国产不卡在线观看视频| 日韩一区二区三| 国产成都精品91一区二区三| 亚洲视频网在线直播| 欧美私模裸体表演在线观看| 日本不卡视频在线| 久久精品一区四区| 成人爱爱电影网址| 午夜精品久久久久久| 久久精品一区蜜桃臀影院| 国产欧美视频一区二区| 91免费版在线| 精彩视频一区二区三区| 亚洲精品视频免费看| 日韩三级电影网址| 99久久亚洲一区二区三区青草| 亚洲综合在线观看视频| 欧美精品一区二区三区很污很色的| 不卡电影免费在线播放一区| 亚洲国产成人av| 国产精品久久久久久久久免费桃花| 欧洲人成人精品| 粉嫩一区二区三区在线看| 污片在线观看一区二区| 国产精品乱子久久久久| 日韩午夜精品电影| 在线视频一区二区免费| 国产不卡在线一区| 蜜桃视频在线一区| 一区二区三区精品| 中文字幕第一页久久| 日韩视频免费直播| 欧美中文一区二区三区| 丰满少妇在线播放bd日韩电影| 青娱乐精品视频在线| 亚洲伊人色欲综合网| 自拍偷拍国产精品| 精品裸体舞一区二区三区| 在线观看成人免费视频| 国产福利一区二区三区视频在线 | 免费观看成人av| 国产精品久久久久久久久免费桃花 | 欧美日韩国产高清一区二区 | 日韩精品一二区| 中文字幕亚洲在| 国产肉丝袜一区二区| 欧美www视频| 7777精品伊人久久久大香线蕉的| 97se亚洲国产综合自在线观| 福利电影一区二区三区| 国产精品亚洲人在线观看| 久久成人精品无人区| 日韩高清中文字幕一区| 日韩中文字幕不卡| 日本欧美一区二区在线观看| 日韩国产一二三区| 日本v片在线高清不卡在线观看| 香蕉乱码成人久久天堂爱免费| 亚洲色图视频网站| 亚洲欧美二区三区| 亚洲精品乱码久久久久久日本蜜臀| 欧美精品色综合| 欧美日韩国产123区| 在线电影国产精品| 日韩三级中文字幕| 日韩久久免费av| 久久亚洲精华国产精华液| 欧美xxxxxxxx| 久久久久久久网| 亚洲一区二区三区小说| 久久久久国色av免费看影院| 国产日韩精品久久久| 国产精品乱人伦中文| 亚洲精品免费在线| 亚洲va韩国va欧美va| 青娱乐精品在线视频| 国内精品免费**视频| 成人午夜免费av| 色噜噜狠狠色综合欧洲selulu| 欧美中文字幕不卡| 欧美一区二区三区免费大片 | 麻豆极品一区二区三区| 麻豆精品视频在线观看视频| 免费av成人在线| 国产精品996| 97久久精品人人做人人爽50路| 色老综合老女人久久久| 欧美二区乱c少妇| 26uuu色噜噜精品一区二区| 中文字幕av不卡| 亚洲国产精品久久人人爱| 免费看日韩精品| 成人av在线播放网站| 91国模大尺度私拍在线视频| 91.成人天堂一区| 国产亚洲欧美激情| 亚洲一区二区三区四区在线观看| 麻豆一区二区三| 91欧美激情一区二区三区成人| 欧美军同video69gay| 国产亚洲人成网站| 亚洲大片免费看| 国产成人在线视频播放| 欧美亚洲综合另类| 久久久久久久久久久久久夜| 中文字幕一区av| 另类人妖一区二区av| 91伊人久久大香线蕉| 日韩欧美一二三| 麻豆精品一区二区三区| eeuss鲁片一区二区三区在线观看| 欧美日韩色综合| 国产精品美女久久福利网站| 日韩综合小视频| 91亚洲国产成人精品一区二区三| 日韩午夜激情电影| 亚洲综合久久av| 成人永久免费视频| 日韩一级片网址| 五月婷婷色综合| 欧美在线不卡视频| 亚洲国产精品t66y|