青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 297,  comments - 15,  trackbacks - 0
from waterloo university

/*
00002  * This file is shared between libc and the kernel, 
so don't put anything
00003 * in here that won't work in both contexts. 00004 */ 00005 00006 #ifdef _KERNEL 00007 #include <types.h> 00008 #include <lib.h> 00009 #else 00010 #include <string.h> 00011 #endif 00012 00013 /* 00014 * C standard function - copy a block of memory. 00015 */ 00016 00017 void * 00018 memcpy(void *dst, const void *src, size_t len) 00019 { 00020 size_t i; 00021 00022 /* 00023 * memcpy does not support overlapping buffers,
00024 * so always do it forwards.
00025 * (Don't change this without adjusting memmove.) 00026 * For speedy copying, optimize the common case
00027 * where both pointers and the length are word-aligned, 00028 * and copy word-at-a-time insteadof byte-at-a-time.
00029 *Otherwise, copy by bytes. 00030 * The alignment logic below should be portable. 00031 * We rely onthe compiler to be reasonably intelligent 00032 * about optimizing the divides and modulos out.
00033 * Fortunately, it is.*/ 00034 00035 if ((uintptr_t)dst % sizeof(long) == 0 && 00036 (uintptr_t)src % sizeof(long) == 0 && 00037 len % sizeof(long) == 0) { 00038 00039 long *d = dst; 00040 const long *s = src; 00041 00042 for (i=0; i<len/sizeof(long); i++) { 00043    d[i] = s[i]; 00044 } 00045 } 00046 else { 00047 char *d = dst; 00048 const char *s = src; 00049 00050 for (i=0; i<len; i++) { 00051 d[i] = s[i]; 00052 } 00053 } 00054 00055 return dst; 00056 }
/*
00014  * C standard function - copy a block of memory, 
00015 * handling overlapping * regions correctly. 00016 */ 00017 00018 void * 00019 memmove(void *dst, const void *src, size_t len) 00020 { 00021 size_t i; 00022 00023 /* 00024 * If the buffers don't overlap, it doesn't matter 00025 * what direction we copy in. If they do, it does,
00026 * so just assume they always do.We don't concern
00027 * ourselves with the possibility that the region
00028 * to copy might roll over across the top of memory,
00029 * because it's not going to happen. 00030 * If the destination is above the source, we have 00031 * to copy back to front to avoid overwriting the
00032 * data we want to copy. 00033 * 00034 * dest: dddddddd 00035 * src: ssssssss ^ 00036 * | ^ |___| 00037 * |___| 00038 * 00039 * If the destination is below the source, we have to 00040 * copy front to back. 00041 * 00042 * dest: dddddddd 00043 * src: ^ ssssssss 00044 * |___| ^ | 00045 * |___| 00046 */ 00047 00048 if ((uintptr_t)dst < (uintptr_t)src) { 00049 /* 00050 * As author/maintainer of libc, take advantage of the 00051 * fact that we know memcpy copies forwards. 00052 */ 00053    return memcpy(dst, src, len); 00054 } 00055 00056 /* 00057 * Copy by words in the common case. Look in 00058 * memcpy.c for more information. 00059 */ 00060 00061 if ((uintptr_t)dst % sizeof(long) == 0 && 00062 (uintptr_t)src % sizeof(long) == 0 && 00063 len % sizeof(long) == 0) { 00064 00065    long *d = dst; 00066 const long *s = src; 00067 00068 /* 00069 * The reason we copy index i-1 and test i>0 is that 00070 * i is unsigned - so testing i>=0 doesn't work. 00071 */ 00072 00073 for (i=len/sizeof(long); i>0; i--) { 00074    d[i-1] = s[i-1]; 00075 } 00076 } 00077 else { 00078 char *d = dst; 00079 const char *s = src; 00080 00081 for (i=len; i>0; i--) { 00082    d[i-1] = s[i-1]; 00083 } 00084 } 00085 00086 return dst; 00087}


	
posted on 2009-03-25 15:05 chatler 閱讀(230) 評論(0)  編輯 收藏 引用 所屬分類: C++_BASIS
<2010年11月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿(10)

隨筆分類(307)

隨筆檔案(297)

algorithm

Books_Free_Online

C++

database

Linux

Linux shell

linux socket

misce

  • cloudward
  • 感覺這個博客還是不錯,雖然做的東西和我不大相關,覺得看看還是有好處的

network

OSS

  • Google Android
  • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
  • os161 file list

overall

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            一区二区三区色| 9久草视频在线视频精品| 欧美伊人影院| 国产在线麻豆精品观看| 久久黄色网页| 久久国产66| 1024国产精品| 欧美国产视频日韩| 欧美精品aa| 亚洲视频第一页| 亚洲尤物影院| 精品91久久久久| 亚洲高清在线播放| 欧美精品久久99久久在免费线| 一区二区三区成人| 性欧美18~19sex高清播放| 国产亚洲激情视频在线| 欧美成人日本| 欧美日韩亚洲一区在线观看| 欧美一区二区三区在线看| 久久亚洲精品伦理| 一本色道久久综合亚洲精品高清 | 猛干欧美女孩| 欧美精品色网| 久久精品观看| 欧美成人精品高清在线播放| 亚洲自拍偷拍色片视频| 久久狠狠久久综合桃花| 日韩午夜在线| 午夜欧美大尺度福利影院在线看| 黄色一区二区在线| 一个人看的www久久| 一区二区亚洲欧洲国产日韩| 日韩特黄影片| 18成人免费观看视频| 宅男精品视频| 亚洲黑丝在线| 欧美中文字幕不卡| 亚洲欧美日韩国产一区| 免费影视亚洲| 久久视频这里只有精品| 欧美日韩亚洲网| 欧美激情网友自拍| 国精品一区二区| 亚洲精品欧美精品| 亚洲电影中文字幕| 欧美一二三视频| 亚洲一区二区三区激情| 欧美成人一品| 免费成人高清| 狠狠综合久久| 欧美在线播放一区| 久久xxxx精品视频| 国产精品大片wwwwww| 亚洲黑丝一区二区| 亚洲国产精品激情在线观看| 亚欧成人精品| 午夜一区二区三区在线观看| 欧美日韩日本网| 亚洲精品乱码久久久久久日本蜜臀| 激情欧美日韩一区| 欧美一级久久久| 久久久999成人| 国产一区二区精品丝袜| 亚洲欧美日韩在线| 欧美亚洲综合在线| 国产精品一区毛片| 香蕉久久夜色精品国产| 欧美有码在线观看视频| 国产麻豆日韩欧美久久| 午夜一区二区三区在线观看| 欧美一区综合| 国产欧美午夜| 久久国产综合精品| 欧美国产大片| 99精品国产一区二区青青牛奶| 欧美波霸影院| 999在线观看精品免费不卡网站| 在线亚洲精品| 国产精品久久久久秋霞鲁丝| 亚洲视频一二区| 欧美一区二区三区四区视频| 国产一区二区三区四区在线观看 | 欧美激情视频网站| 亚洲毛片视频| 国产精品久久久久毛片大屁完整版 | 亚洲影院污污.| 国产精品日韩在线| 久久久www成人免费毛片麻豆| 免费一级欧美片在线观看| 日韩视频永久免费| 国产精品成人播放| 久久国产黑丝| 亚洲精品久久久久中文字幕欢迎你| 亚洲性视频网站| 黄色精品网站| 欧美日本精品| 欧美一区二区在线看| 亚洲大胆视频| 午夜精品久久久久久久男人的天堂| 国产一区在线播放| 欧美日韩精品免费观看视频完整| 欧美一激情一区二区三区| 久久精品国产一区二区电影| 亚洲电影成人| 国产精品久久久亚洲一区| 久久久久久久999精品视频| 亚洲精品免费在线播放| 久久精品国产久精国产一老狼 | 国产日韩在线视频| 欧美国产日韩一区二区三区| 亚洲一区二区三区乱码aⅴ| 欧美福利小视频| 亚洲欧美大片| 亚洲精品一级| 精品成人在线视频| 国产精品久久久久aaaa九色| 欧美成人午夜| 久久久亚洲综合| 亚洲一二三四区| 亚洲国产精品久久久久婷婷老年| 午夜一区二区三区不卡视频| 亚洲毛片av| 亚洲国产成人91精品| 国产午夜久久久久| 国产精品成av人在线视午夜片 | 一区二区三区日韩精品| 免费在线成人| 久久久久久综合| 午夜精品在线观看| 亚洲私人影院在线观看| 99视频精品在线| 亚洲裸体视频| 亚洲麻豆国产自偷在线| **性色生活片久久毛片| 狠狠色狠狠色综合日日tαg| 国产精品嫩草99a| 国产精品v欧美精品v日韩| 欧美欧美在线| 欧美高清视频| 欧美电影在线观看| 欧美成人视屏| 欧美成人在线影院| 欧美精品一线| 欧美欧美午夜aⅴ在线观看| 欧美激情一区二区三区在线视频观看 | 亚洲乱亚洲高清| 亚洲美女av网站| 9色精品在线| 在线一区欧美| 亚洲欧美日韩成人| 午夜天堂精品久久久久| 久久av资源网| 久久久久久久一区二区三区| 久久青草欧美一区二区三区| 久久久久久久久久久久久女国产乱| 久久成人免费视频| 玖玖国产精品视频| 欧美极品在线观看| 国产精品a久久久久| 国产九色精品成人porny| 国产日韩精品在线| 在线播放日韩欧美| 日韩图片一区| 午夜视频在线观看一区二区| 欧美一区激情| 欧美成人伊人久久综合网| 亚洲国产成人不卡| 日韩午夜精品视频| 亚洲一区二区免费看| 久久久久久成人| 欧美精品二区三区四区免费看视频| 欧美人与禽猛交乱配视频| 国产精品久久久久久久久果冻传媒 | 久久精品观看| 欧美另类videos死尸| 国产精品尤物福利片在线观看| 韩国av一区二区三区四区| 亚洲人成免费| 香港成人在线视频| 女女同性女同一区二区三区91| 日韩一区二区精品视频| 欧美在线播放高清精品| 欧美激情一区| 红杏aⅴ成人免费视频| 亚洲午夜精品久久久久久app| 久久久久久久久久看片| 亚洲人成在线免费观看| 欧美一区二区三区久久精品茉莉花| 欧美gay视频| 国产午夜精品理论片a级大结局| 91久久久一线二线三线品牌| 欧美一区亚洲| a4yy欧美一区二区三区| 久久综合久久综合久久| 国产精品色婷婷| 亚洲精品一区二区三区四区高清| 欧美一区二区视频在线| 日韩视频免费观看高清完整版| 久久精品99无色码中文字幕|