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

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 閱讀(226) 評論(0)  編輯 收藏 引用 所屬分類: C++_BASIS
<2012年6月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

常用鏈接

留言簿(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>
            激情亚洲网站| 久久电影一区| 亚洲福利免费| 亚洲黑丝在线| 亚洲人成精品久久久久| 久久久另类综合| 欧美高清在线| 亚洲日本电影| 国产精品电影在线观看| 亚洲自啪免费| 欧美国产日韩一区二区三区| 亚洲免费婷婷| 国产视频一区三区| 欧美国产视频一区二区| 99综合在线| 久久性色av| 亚洲一区二区在线| 在线观看日韩| 国产精品午夜电影| 欧美福利网址| 国产精品入口麻豆原神| 国产亚洲精品一区二555| 欧美—级a级欧美特级ar全黄| 一区二区高清在线观看| 亚洲高清在线视频| 日韩网站在线观看| 欧美高清在线播放| 亚洲一级高清| 最新亚洲激情| 欧美一区二区在线免费观看| 日韩视频一区二区在线观看 | 国产精品初高中精品久久| 国产精品免费视频xxxx| 欧美日本久久| 母乳一区在线观看| 久久精彩视频| 一区二区三区欧美成人| 久久久久久久91| 国产精品www| 欧美精品久久久久久久久老牛影院 | 欧美日韩一区二区精品| 欧美不卡一区| 久久久久久一区| 国产精品v一区二区三区| 亚洲人成网站777色婷婷| 欧美在线观看网站| 亚洲精品女av网站| 99精品热视频| 日韩一级黄色片| 久久久99爱| 久久久久久夜| 你懂的国产精品| 麻豆成人在线| 欧美激情一区三区| 久久激情网站| 国产日韩在线播放| 午夜在线一区二区| 久久久久久久综合色一本| 国产精品99久久久久久人| 亚洲香蕉视频| 欧美日韩综合网| 国产欧美日韩在线观看| 合欧美一区二区三区| 黄色成人av网| 久久av资源网| 欧美与欧洲交xxxx免费观看 | 黄色一区二区三区四区| 久久激情网站| 欧美国产三级| 欧美1区免费| 亚洲人成绝费网站色www| 欧美高清视频在线播放| 国产精品盗摄一区二区三区| 亚洲永久免费观看| 亚洲视屏在线播放| 国产精品永久免费视频| 在线精品在线| 亚洲精品日产精品乱码不卡| 亚洲国产成人高清精品| 欧美成人中文| 亚洲一区二区伦理| 久久噜噜噜精品国产亚洲综合| 亚洲欧洲99久久| 久久视频在线免费观看| 欧美阿v一级看视频| 亚洲精品美女在线| 日韩亚洲国产欧美| 国产精品女主播在线观看| 久久久福利视频| 欧美va亚洲va香蕉在线| 一本色道88久久加勒比精品| 久久国产欧美日韩精品| 久久成人免费视频| 亚洲精品免费网站| av成人老司机| 黄色精品一二区| 日韩小视频在线观看专区| 国产欧美精品日韩精品| 亚洲国产成人一区| 国产日韩欧美黄色| 欧美激情一区二区三区蜜桃视频| 国产精品久久久99| 亚洲第一天堂无码专区| 国产精品久久久久久久午夜片| 另类天堂视频在线观看| 欧美亚一区二区| 亚洲福利视频网| 国产在线精品成人一区二区三区| 亚洲综合三区| 男女视频一区二区| 午夜精品久久久久久久白皮肤 | 亚洲欧美在线另类| 亚洲激情成人| 欧美不卡视频一区发布| 国产精品久久久久久av下载红粉| 久久久久久穴| 欧美日韩精品福利| 亚洲激情综合| 欧美亚洲免费在线| 国产一区二区三区高清播放| 亚洲精品乱码久久久久久日本蜜臀| 国产日韩av高清| 日韩亚洲在线观看| 99精品福利视频| 欧美aaa级| 亚洲大片在线| 亚洲激情在线播放| 免费一级欧美片在线观看| 免费不卡欧美自拍视频| 麻豆国产va免费精品高清在线| 亚洲日本一区二区| 国产精品久久久久久久久久免费看| 欧美超级免费视 在线| 狠狠噜噜久久| 久久九九热re6这里有精品| 激情久久五月天| 欧美在线精品免播放器视频| 欧美一区二区三区四区在线| 国产精品久久久久久久久久ktv | 男人天堂欧美日韩| 激情伊人五月天久久综合| 欧美一区二区视频网站| 欧美在线观看一区| 国产欧美综合在线| 国产一区二区三区丝袜| 亚洲影院在线观看| 欧美日本一区二区高清播放视频| 久久久久久久久伊人| 欧美三级欧美一级| aa日韩免费精品视频一| 亚洲综合另类| 国产一本一道久久香蕉| 久久精品综合一区| 欧美成人蜜桃| 亚洲精品一区二区三区婷婷月| 免费欧美日韩| 亚洲狼人综合| 亚洲欧美成人综合| 国产女主播一区| 久久久久久电影| 亚洲国产精品嫩草影院| 在线午夜精品自拍| 午夜精品久久久久久久男人的天堂 | 亚洲精品国产精品国自产观看浪潮| 欧美大尺度在线观看| 一区二区三区高清在线观看| 欧美一区二区三区免费观看 | 一区二区在线视频播放| 欧美高清视频一区二区| 亚洲永久在线观看| 久久精品一区二区| 亚洲伦理网站| 国产一区二区剧情av在线| 久久亚洲精品网站| 99精品热视频| 久久久综合网站| 宅男66日本亚洲欧美视频 | aa级大片欧美| 国产日韩在线一区二区三区| 欧美大片18| 香蕉久久精品日日躁夜夜躁| 蜜臀久久99精品久久久久久9| 亚洲人成网在线播放| 国产精品美女一区二区| 久久精品日产第一区二区三区| 亚洲精品久久久久久下一站 | 亚洲天堂av在线免费观看| 蜜桃久久av一区| 欧美一二三区在线观看| 亚洲免费电影在线| 亚洲国产高清视频| 久久精品国产77777蜜臀| 亚洲精品日日夜夜| 欧美亚洲一级| 久久国产精品黑丝| 亚洲国产女人aaa毛片在线| 欧美日韩一区二区免费视频| 欧美一级黄色录像| 亚洲国产成人精品久久| 久久aⅴ国产紧身牛仔裤|