锘??xml version="1.0" encoding="utf-8" standalone="yes"?>五月丁香综合激情六月久久,久久电影网一区,99久久精品国产麻豆http://m.shnenglu.com/mysileng/category/20285.htmlzh-cnWed, 30 Jan 2013 08:25:21 GMTWed, 30 Jan 2013 08:25:21 GMT60linux楂樼駭緙栫▼day13 絎旇 (杞?http://m.shnenglu.com/mysileng/archive/2013/01/29/197619.html閼緳閼緳Tue, 29 Jan 2013 10:35:00 GMThttp://m.shnenglu.com/mysileng/archive/2013/01/29/197619.htmlhttp://m.shnenglu.com/mysileng/comments/197619.htmlhttp://m.shnenglu.com/mysileng/archive/2013/01/29/197619.html#Feedback0http://m.shnenglu.com/mysileng/comments/commentRss/197619.htmlhttp://m.shnenglu.com/mysileng/services/trackbacks/197619.html闃呰鍏ㄦ枃

閼緳 2013-01-29 18:35 鍙戣〃璇勮
]]>
linux楂樼駭緙栫▼day12 絎旇 (杞?http://m.shnenglu.com/mysileng/archive/2013/01/17/197340.html閼緳閼緳Thu, 17 Jan 2013 06:30:00 GMThttp://m.shnenglu.com/mysileng/archive/2013/01/17/197340.htmlhttp://m.shnenglu.com/mysileng/comments/197340.htmlhttp://m.shnenglu.com/mysileng/archive/2013/01/17/197340.html#Feedback0http://m.shnenglu.com/mysileng/comments/commentRss/197340.htmlhttp://m.shnenglu.com/mysileng/services/trackbacks/197340.html闃呰鍏ㄦ枃

閼緳 2013-01-17 14:30 鍙戣〃璇勮
]]>
linux楂樼駭緙栫▼day11 絎旇 (杞?http://m.shnenglu.com/mysileng/archive/2013/01/13/197229.html閼緳閼緳Sun, 13 Jan 2013 03:04:00 GMThttp://m.shnenglu.com/mysileng/archive/2013/01/13/197229.htmlhttp://m.shnenglu.com/mysileng/comments/197229.htmlhttp://m.shnenglu.com/mysileng/archive/2013/01/13/197229.html#Feedback0http://m.shnenglu.com/mysileng/comments/commentRss/197229.htmlhttp://m.shnenglu.com/mysileng/services/trackbacks/197229.html闃呰鍏ㄦ枃

閼緳 2013-01-13 11:04 鍙戣〃璇勮
]]>
linux楂樼駭緙栫▼day10 絎旇 (杞?http://m.shnenglu.com/mysileng/archive/2013/01/10/197163.html閼緳閼緳Thu, 10 Jan 2013 04:49:00 GMThttp://m.shnenglu.com/mysileng/archive/2013/01/10/197163.htmlhttp://m.shnenglu.com/mysileng/comments/197163.htmlhttp://m.shnenglu.com/mysileng/archive/2013/01/10/197163.html#Feedback0http://m.shnenglu.com/mysileng/comments/commentRss/197163.htmlhttp://m.shnenglu.com/mysileng/services/trackbacks/197163.html闃呰鍏ㄦ枃

閼緳 2013-01-10 12:49 鍙戣〃璇勮
]]>
linux楂樼駭緙栫▼day09 絎旇 (杞?http://m.shnenglu.com/mysileng/archive/2013/01/08/197102.html閼緳閼緳Tue, 08 Jan 2013 04:18:00 GMThttp://m.shnenglu.com/mysileng/archive/2013/01/08/197102.htmlhttp://m.shnenglu.com/mysileng/comments/197102.htmlhttp://m.shnenglu.com/mysileng/archive/2013/01/08/197102.html#Feedback0http://m.shnenglu.com/mysileng/comments/commentRss/197102.htmlhttp://m.shnenglu.com/mysileng/services/trackbacks/197102.htmlstruct  sembuf {    int sem_num;//涓嬫爣    in...  闃呰鍏ㄦ枃

閼緳 2013-01-08 12:18 鍙戣〃璇勮
]]>
linux楂樼駭緙栫▼day08 絎旇 (杞?http://m.shnenglu.com/mysileng/archive/2013/01/06/197008.html閼緳閼緳Sun, 06 Jan 2013 03:32:00 GMThttp://m.shnenglu.com/mysileng/archive/2013/01/06/197008.htmlhttp://m.shnenglu.com/mysileng/comments/197008.htmlhttp://m.shnenglu.com/mysileng/archive/2013/01/06/197008.html#Feedback0http://m.shnenglu.com/mysileng/comments/commentRss/197008.htmlhttp://m.shnenglu.com/mysileng/services/trackbacks/197008.html闃呰鍏ㄦ枃

閼緳 2013-01-06 11:32 鍙戣〃璇勮
]]>
linux楂樼駭緙栫▼day07 絎旇 (杞?http://m.shnenglu.com/mysileng/archive/2013/01/05/196977.html閼緳閼緳Sat, 05 Jan 2013 08:03:00 GMThttp://m.shnenglu.com/mysileng/archive/2013/01/05/196977.htmlhttp://m.shnenglu.com/mysileng/comments/196977.htmlhttp://m.shnenglu.com/mysileng/archive/2013/01/05/196977.html#Feedback0http://m.shnenglu.com/mysileng/comments/commentRss/196977.htmlhttp://m.shnenglu.com/mysileng/services/trackbacks/196977.html闃呰鍏ㄦ枃

閼緳 2013-01-05 16:03 鍙戣〃璇勮
]]>
linux楂樼駭緙栫▼day06 絎旇(杞?http://m.shnenglu.com/mysileng/archive/2013/01/04/196934.html閼緳閼緳Fri, 04 Jan 2013 02:42:00 GMThttp://m.shnenglu.com/mysileng/archive/2013/01/04/196934.htmlhttp://m.shnenglu.com/mysileng/comments/196934.htmlhttp://m.shnenglu.com/mysileng/archive/2013/01/04/196934.html#Feedback0http://m.shnenglu.com/mysileng/comments/commentRss/196934.htmlhttp://m.shnenglu.com/mysileng/services/trackbacks/196934.html闃呰鍏ㄦ枃

閼緳 2013-01-04 10:42 鍙戣〃璇勮
]]>
linux楂樼駭緙栫▼day05 絎旇 (杞?http://m.shnenglu.com/mysileng/archive/2013/01/02/196903.html閼緳閼緳Wed, 02 Jan 2013 03:01:00 GMThttp://m.shnenglu.com/mysileng/archive/2013/01/02/196903.htmlhttp://m.shnenglu.com/mysileng/comments/196903.htmlhttp://m.shnenglu.com/mysileng/archive/2013/01/02/196903.html#Feedback0http://m.shnenglu.com/mysileng/comments/commentRss/196903.htmlhttp://m.shnenglu.com/mysileng/services/trackbacks/196903.html闃呰鍏ㄦ枃

閼緳 2013-01-02 11:01 鍙戣〃璇勮
]]>
linux楂樼駭緙栫▼day04 絎旇(杞?http://m.shnenglu.com/mysileng/archive/2012/12/31/196876.html閼緳閼緳Mon, 31 Dec 2012 07:30:00 GMThttp://m.shnenglu.com/mysileng/archive/2012/12/31/196876.htmlhttp://m.shnenglu.com/mysileng/comments/196876.htmlhttp://m.shnenglu.com/mysileng/archive/2012/12/31/196876.html#Feedback0http://m.shnenglu.com/mysileng/comments/commentRss/196876.htmlhttp://m.shnenglu.com/mysileng/services/trackbacks/196876.html闃呰鍏ㄦ枃

閼緳 2012-12-31 15:30 鍙戣〃璇勮
]]>
linux楂樼駭緙栫▼day03 絎旇(杞?http://m.shnenglu.com/mysileng/archive/2012/12/30/196857.html閼緳閼緳Sun, 30 Dec 2012 08:39:00 GMThttp://m.shnenglu.com/mysileng/archive/2012/12/30/196857.htmlhttp://m.shnenglu.com/mysileng/comments/196857.htmlhttp://m.shnenglu.com/mysileng/archive/2012/12/30/196857.html#Feedback0http://m.shnenglu.com/mysileng/comments/commentRss/196857.htmlhttp://m.shnenglu.com/mysileng/services/trackbacks/196857.html涓銆乵ake涓巑akefile
  1.鍥為【錛?br style="margin: 0px; padding: 0px;" />    鐩爣鐨勮娉?br style="margin: 0px; padding: 0px;" />    鐩爣鍚嶏細渚濊禆鐩爣
      @鍛戒護
      @鍛戒護
      
    make鐨勫懡浠よ浣跨敤
      make -f make鑴氭湰鏂囦歡  鐩爣鍚?br style="margin: 0px; padding: 0px;" />  2.鐩爣鐨勫垝鍒?br style="margin: 0px; padding: 0px;" />    鐩爣渚濊禆

  3.榛樿瑙勫垯錛?br style="margin: 0px; padding: 0px;" />    a.涓嶆寚瀹氱洰鏍囷紝鎵ц絎竴涓洰鏍?br style="margin: 0px; padding: 0px;" />    b.涓嶆寚瀹歮ake鏂囦歡錛岄粯璁ゆ枃浠舵槸makefile Makefile
      makefile浼樺厛
  4.鐩爣鐨勮皟鐢ㄨ鍒欙細(make鎶婄洰鏍囧綋鎴愬綋鍓嶆枃浠跺す涓嬪悓鍚嶇殑鏂囦歡)
    make鎵ц鐩爣錛?br style="margin: 0px; padding: 0px;" />      鎼滅儲涓庣洰鏍囩浉鍚岀殑鏂囦歡
      濡傛灉鏂囦歡瀛樺湪錛屽垯鍒ゅ畾鏂囦歡鏄惁琚慨鏀硅繃銆?br style="margin: 0px; padding: 0px;" />      鏂囦歡鏈淇敼錛屽垯鍋滄鎵ц錛岃緭鍑烘彁紺?br style="margin: 0px; padding: 0px;" />      鏂囦歡淇敼榪囷紝鍒欒繘琛屾墽琛屻傦紙鏂囦歡涓嶅瓨鍦ㄥ睘浜庤淇敼榪囪寖鐣達級

      姣旇緝錛氬綋鍓嶇洰鏍囦笌渚濊禆鐩爣
  5.寤鴻錛?br style="margin: 0px; padding: 0px;" />    鍙鏈夋枃浠惰緭鍑猴紝灝辨妸浠誨姟浣滀負涓涓洰鏍?騫朵笖鎶婅緭鍑虹殑鏂囦歡浣滀負鐩爣鍚嶃?/span>
    鑼冧緥錛?br />    input.o:input.c
       gcc -c -fpic input.c
    libdemo.so:input.o
       gcc -shared -olibdemo.so input.o
    demo:libdemo.so demo.c
       gcc demo.c -ldemo -L. -odemo
  
  6.娼滆鍒?涓嶅緩璁?
    閫傜敤浜?.c鐩爣涓?o鐩爣銆?br style="margin: 0px; padding: 0px;" />    鏌ユ壘.o鐩爣錛岀洰鏍囦笉瀛樺湪錛屽氨鎶?o鏇挎崲鎴?c
    濡傛灉.c瀛樺湪錛屽疄鏂芥綔瑙勫垯錛氱洿鎺ヨ皟鐢╣cc鎶?c鎵т負.o
  7.鍙橀噺
    鍙橀噺鍚?鍊?鍊?br style="margin: 0px; padding: 0px;" />    
    $(鍙橀噺鍚?  ${鍙橀噺}  
  8.浼洰鏍?
    涓嶆妸鐩爣浣滀負鏂囦歡澶勭悊鐨勭洰鏍囩О涓轟吉鐩爣
    澹版槑浼洰鏍?br />    .PHONY=鐩爣  

浜屻佺幆澧冨彉閲?br style="margin: 0px; padding: 0px;" />  1.浣跨敤main鐨勫弬鏁?br style="margin: 0px; padding: 0px;" />  int main(int args,char *argv[],char **arge)
  {
  }
  鍛戒護琛屽弬鏁癮rgv涓庣幆澧冭arge閮芥槸瀛楃涓叉暟緇?
  綰﹀畾:鏈鍚庝竴涓瓧絎︿覆鏄疦ULL/0
  2.鍦–鐨勬爣鍑嗗簱鎻愪緵:澶栭儴鍙橀噺
   extern char **environ;


#include <stdio.h>
#include <unistd.h>
extern char **environ;
int main(/*int args,char *argv[],char*arge[]*/)
{
    /*
    while(*arge)
    {
        printf("%s\n",*arge);
        arge++;
    }
    
*/
    /*
    int i=0;
    while(arge[i])
    {
        printf("%s\n",arge[i]);
        i++;
    }
    
*/
    while(*environ)
    {
        printf("%s\n",*environ);
        environ++;
    }
}

3.淇敼鑾峰彇鏌愪釜鐜鍙橀噺
    getenv/setenv/unsetenv

#include <stdlib.h>
#include <stdio.h>
main()
{
    char *val;
    val=getenv("PATH");
    printf("%s\n",val);
}
涓夈両O鐨勫熀紜
  1.璁よ瘑鍐呮牳瀵硅薄
    涓嶅厑璁歌闂唴鏍歌澶囧拰鍐呭瓨,浣嗗彲浠ラ氳繃鍐呮牳緋葷粺鍑芥暟鍘昏闂?
    瀵規瘡涓唴鏍稿璞¤繘琛岀紪鍙稩D.
    濡傛灉璁塊棶鍐呮牳瀵硅薄,鍙兘閫氳繃ID.
    緙栫▼妯″瀷:
      鐢寵寰楀埌涓涓狪D
      鍦ㄥ唴鏍哥郴緇熷嚱鏁頒腑浣跨敤ID寰楀埌瀵瑰簲鍐呮牳瀵硅薄鏁版嵁
  2.鎬庝箞璁塊棶鏂囦歡
    浣跨敤鍑芥暟,浼犻掍竴涓枃浠?緋葷粺鎵撳紑鏂囦歡,鍔犺澆鏂囦歡鏁版嵁,
    榪斿洖涓涓狪D.
    浣跨敤鍑芥暟,浼犻捍D,寰楀埌鏁版嵁.
    浣跨敤鍑芥暟浼犻捍D,鍛婅瘔緋葷粺閲婃斁鏂囦歡.
        
    ID:鏂囦歡鎻忚堪絎﹀彿.file description (fd)
    
    姣忎釜紼嬪簭鎵ц鐨勬椂鍊欓兘鏈変竴涓洰褰?瀛樻斁鎵撳紑鐨勬枃浠舵弿榪扮鍙?/span>
  3.姣忎釜紼嬪簭榛樿鎵撳紑涓変釜鏂囦歡璁懼:
    0:鏍囧噯杈撳叆
    1:鏍囧噯杈撳嚭
    2:閿欒杈撳嚭
  4.鎿嶄綔鏂囦歡鎻忚堪絎﹀彿
    ssize_t write(int fd,
     void *buf,//瑕佸啓鍏ュ唴鏍稿璞$殑鏁版嵁
     size_t size);//鍐欏叆鏁版嵁澶у皬
    榪斿洖:
      >0 瀹為檯鍐欏叆鐨勬暟鎹?/span>
      -1 鍐欏叆閿欒 
    ssize_t read(int fd,
      void *buf,//榪斿洖鏁版嵁鐨勭┖闂?/span>
      size_t size);//絀洪棿澶у皬
    榪斿洖:
      >0:瀹為檯璇誨彇鐨勬暟鎹?/span>
      =0:紕板埌鏂囦歡緇撴潫絎﹀彿EOF (ctrl+d)
      -1:璇誨彇閿欒
    
    寤鴻:
      0:杈撳叆
      1:杈撳嚭
      2:閿欒杈撳嚭
璇懼爞緇冧範:
  1.浣跨敤write鍚? 1 2 鍐欐暟鎹?/span>
  2.浣跨敤read浠? 1 璇誨彇鏁版嵁,騫跺垽瀹氳緭鍏ョ殑鎯呭喌,鐒跺悗鏍規嵁鐩稿簲鐨勭粨鏋滆緭鍑烘彁紺?br />

#include <stdlib.h>
#include <stdio.h>
main()
{
    //printf("%d\n",getpid());
    
//while(1);
    /*
    int r=write(0,"Hello\n",6);
    write(1,"world\n",6);
    write(2,"louis\n",6);
    int a=20;
    
    write(1,&a,4);
    
*/
    char buf[32];
    //memset(buf,0,32);
    bzero(buf,32);
    
    int r=read(0,buf,30);
    printf("瀹為檯杈撳叆:%d\n",r);
    if(r>0)
    {
        buf[r]=0;
        printf("::%s\n",buf);
    }
    if(r==0)
    {
        printf("ctrl+d\n");
    }
    if(r==-1)
    {
        printf("杈撳叆閿欒!\n");
    }
}

涓?鍩轟簬鏂囦歡鐨勬弿榪扮鍙?br style="margin: 0px; padding: 0px;" />  1.寰楀埌鏂囦歡鎻忚堪絎﹀彿/閲婃斁鏂囦歡鎻忚堪絎﹀彿
   a.鏂囦歡綾誨瀷
    鐩綍鏂囦歡d
    鏅氭枃浠秄
    瀛楃璁懼鏂囦歡c
    鍧楄澶囨枃浠禸
    杞繛鎺ユ枃浠秎
    綆¢亾鏂囦歡p
    socket鏂囦歡s   
   b.鏂囦歡鐨勫睘鎬?br style="margin: 0px; padding: 0px;" />     1.灞炴х殑琛ㄨ揪鏂瑰紡:緇濆妯″紡錛?666綾諱技鐨勫叓榪涘埗鏁幫級,瀛楃妯″紡錛坮wx錛?br style="margin: 0px; padding: 0px;" />       0    0   0    0
          鎷ユ湁鑰?nbsp;  緇?nbsp;  鍏朵粬鐢ㄦ埛
       0666
     2.鏂囦歡鐨勬潈闄愬睘鎬?
       璇?br style="margin: 0px; padding: 0px;" />       鍐?br style="margin: 0px; padding: 0px;" />       鎵ц
       綺橀檮浣嶆潈闄?br style="margin: 0px; padding: 0px;" />       鐢ㄦ埛璁劇疆浣嶆潈闄?br style="margin: 0px; padding: 0px;" />       緇勮緗綅鏉冮檺
      0   0         0      0       0
        鐗規畩鏉冮檺   Owner  group  鍏朵粬鐢ㄦ埛

       s:
       S
       t
       T
      2.1.  s璁劇疆浣?br style="margin: 0px; padding: 0px;" />          2:緇勮緗綅
          4:鐢ㄦ埛璁劇疆浣?br style="margin: 0px; padding: 0px;" />         s瀵規墽琛屾湁鏁?br style="margin: 0px; padding: 0px;" />         鏃犳晥鐨勮緗綅浣跨敤S琛ㄧず
         
         璁劇疆浣嶅悜鍏朵粬鐢ㄦ埛寮鏀炬嫢鏈夎呮潈闄愮殑鏉冮檺.鐢ㄦ埛璁劇疆浣?br style="margin: 0px; padding: 0px;" />         璁劇疆浣嶅悜鍏朵粬鐢ㄦ埛寮鏀劇粍鐢ㄦ埛鏉冮檺鐨勬潈闄?緇勭敤鎴瘋緗綅
         璁劇疆浣嶅彧瀵規墽琛岀▼搴忔湁鎰忎箟(鎵ц鏉冮檺鏈夋剰涔?
         
      2.2.  t璁劇疆浣?br style="margin: 0px; padding: 0px;" />          1:琛ㄧず娌鵑檮浣嶈緗?br style="margin: 0px; padding: 0px;" />          t瀵瑰啓鏂囦歡鏈夋剰涔?br style="margin: 0px; padding: 0px;" />         娌℃湁鎵ц鏉冮檺鐨勬簿闄勪綅浣跨敤T琛ㄧず.
         娌鵑檮鐨勭洰鐨?闃叉鏈変簺鏉冮檺鐨勭敤鎴峰垹闄ゆ枃浠?
      
      紼嬪簭鍦ㄦ墽琛岀殑鏃跺欏埌搴曟嫢鏈夌殑鏄墽琛岃呯敤鎴風殑鏉冮檺
      榪樻槸鏂囦歡鎷ユ湁鑰呯殑鏉冮檺.(鐪媠etUID)
       紼嬪簭鎵ц涓湁涓や釜鐢ㄦ埛:
          瀹為檯鐢ㄦ埛錛氭爣紺鴻繘紼嬪埌搴曟槸璋?br style="margin: 0px; padding: 0px;" />          鏈夋晥鐢ㄦ埛錛氭爣紺鴻繘紼嬭闂祫婧愮殑鏉冮檺
       涓婅堪涓鑸儏鍐墊槸涓鏍風殑錛屾湁鏃跺欒setUID鏀瑰彉      
   鎬葷粨:
     娌鵑檮浣嶇殑浣滅敤: 闃叉鍏朵粬鏈夊啓鏉冮檺鐢ㄦ埛鍒犻櫎鏂囦歡
     璁劇疆浣嶇殑浣滅敤: 鍚戝叾浠栨墽琛岃呭紑鍙戠粍鎴栬呯敤鎴風殑鏉冮檺.
緇冧範:
  1.浣跨敤cat鍒涘緩涓涓枃浠?br style="margin: 0px; padding: 0px;" />  2.璁劇疆娌鵑檮浣?騫惰瀵熷睘鎬?br style="margin: 0px; padding: 0px;" />  3.璁劇疆鐢ㄦ埛璁劇疆浣? 騫惰瀵熷睘鎬?br style="margin: 0px; padding: 0px;" />  4.璁劇疆緇勮緗綅, 騫惰瀵熷睘鎬?br style="margin: 0px; padding: 0px;" />  5.鑰冭檻w鏉冮檺涓庢簿闄勪綅鐨勫叧緋?br style="margin: 0px; padding: 0px;" />  6.鑰冭檻x鏉冮檺涓庤緗綅鐨勫叧緋?

  2.閫氳繃鏂囦歡鎻忚堪絎﹀彿璇誨啓鍚勭鏁版嵁.      
    open鍑芥暟涓巆reat鍑芥暟

 int open(
                    const char *filename,//鏂囦歡鍚?/span>
                    int flags,//open鐨勬柟寮廩鍒涘緩/鎵撳紑]
                    mode_t mode//鏉冮檺(鍙湁鍒涘緩鐨勬椂鍊欐湁鏁?
                    )

 榪斿洖:
      >=0:鍐呮牳鏂囦歡鎻忚堪絎﹀彿.
      =-1:鎵撳紑/鍒涘緩澶辮觸
  
    open鐨勬柟寮?
      蹇呴夋柟寮?O_RDONLY O_WRONLY O_RDWR,蹇呴』閫夋嫨涓涓?br style="margin: 0px; padding: 0px;" />      鍒涘緩/鎵撳紑:O_CREAT
      鍙夋柟寮?
          瀵規墦寮鍙夋柟寮?O_APPEND  O_TRUNC(娓呯┖鏁版嵁)
          瀵瑰垱寤哄彲閫夋柟寮?O_EXCL
     緇勫悎:
        鍒涘緩:
          O_RDWR|O_CREAT
          O_RDWR|O_CREAT | O_EXCL 
        
        鎵撳紑:          
          O_RDWR
          O_RDWR|O_APPEND
          O_RDWR|O_TRUNC
     鏉冮檺:
       寤鴻浣跨敤8榪涘埗鏁?br style="margin: 0px; padding: 0px;" />    鍏抽棴 
    void  close(int fd);           

妗堜緥1:
  鍒涘緩鏂囦歡
妗堜緥2:
  鍒涘緩鏂囦歡騫跺啓鍏ユ暟鎹?br style="margin: 0px; padding: 0px;" />    20  short float
    tom  20   99.99
    bush  70   65.00
    杈懼唴  40   100.00
  娉ㄦ剰:
    鏂囦歡鐨勫垱寤虹殑鏉冮檺鍙楃郴緇熺殑鏉冮檺灞忚斀鐨勫獎鍝?br style="margin: 0px; padding: 0px;" />    umask    //鏄劇ず灞忚斀鏉冮檺.
    umask 0666  //璁劇疆鏉冮檺灞忚斀.   
    
    ulimit -a 鏄劇ず鎵鏈夌殑鍏朵粬闄愬埗. 


/*鍒涘緩鏂囦歡*/
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
main()
{
    int fd;
    
    char name[20];
    short age;
    float score;
    char sex;
    
    fd=open("test.dat",
        O_RDWR|O_CREAT|O_EXCL,
);
    if(fd==-1) printf("open error:%m\n"),exit(-1);
    
    
    //鍐欑涓鏉?/span>
    memcpy(name,"tom",strlen("tom")+1);
    age=20;
    score=99.99;
    sex='F';
    
    write(fd,name,sizeof(name));
    write(fd,&age,sizeof age);
    write(fd,&score,sizeof(float));
    write(fd,&sex,sizeof(sex));
    
    //鍐欑浜屾潯
    memcpy(name,"Bush",strlen("Bush")+1);
    age=70;
    score=65.00;
    sex='M';
    write(fd,name,sizeof(name));
    write(fd,&age,sizeof age);
    write(fd,&score,sizeof(float));
    write(fd,&sex,sizeof(sex));
    
    //鍐欑涓夋潯
    
    memcpy(name,"杈懼唴",strlen("杈懼唴")+1);
    age=10;
    score=99.00;
    sex='F';
    write(fd,name,sizeof(name));
    write(fd,&age,sizeof age);
    write(fd,&score,sizeof(float));
    write(fd,&sex,sizeof(sex));
        
    close(fd);
}
妗堜緥3:
  鎵撳紑鏂囦歡璇誨彇鏁版嵁
  閲嶇偣:
    鎬庝箞鎵撳紑璇誨彇
    鏂囦歡灝劇殑鍒ゅ畾
  
  鍩烘湰綾誨瀷鐨勬暟鎹鍐?
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>

main()
{
    char name[20];
    short age;
    float score;
    char sex;
    int fd;
    int r;
    fd=open("test.dat",O_RDONLY);
    if(fd==-1) printf("open error:%m\n"),exit(-1);
    
    while(1)
    {
        r=read(fd,name,sizeof(name));
        if(r==0) break;
        r=read(fd,&age,sizeof(short));
        r=read(fd,&score,sizeof(float));
        r=read(fd,&sex,sizeof(sex));
        printf("%s,\t%4hd,\t%.2f,\t%1c\n",
                name,age,score,sex);
    }
    
    close(fd);
}
妗堜緥4:
  緇撴瀯浣撹鍙?/span>
  鎻忚堪:浠庨敭鐩樿鍙栬嫢騫叉潯鏁版嵁,淇濆瓨鍒版枃浠?/span>
     鏁版嵁榪藉姞
View Code 

#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <stdlib.h>
#include <string.h>
struct stu
{
    int no;
    char name[20];
    float score;
};
/*
.鍒ゅ畾鏂囦歡鏄惁瀛樺湪,瀛樺湪鎵撳紑錛屼笉瀛樺湪鍒涘緩
.杈撳叆璁板綍
.淇濆瓨璁板綍
.鎻愮ず緇х畫杈撳叆
.緇х畫/涓嶇戶緇?br />.鍏抽棴鏂囦歡
*/
int openfile(const char *filename)
{
    int fd;
    fd=open(filename,O_RDWR|O_CREAT|O_EXCL,0666);
    if(fd==-1)//琛ㄧず鏂囦歡瀛樺湪,鍒欐墦寮
    {
        fd=open(filename,O_RDWR|O_APPEND);
        return fd;
    }
    return fd;
}
void input(struct stu *record)
{
    bzero(record,sizeof(struct stu));
    printf("杈撳叆瀛﹀彿:");
    scanf("%d",&(record->no));
    printf("杈撳叆濮撳悕:");
    scanf("%s",record->name);
    printf("杈撳叆鎴愮嘩:");
    scanf("%f",&(record->score));
}
void save(int fd,struct stu *record)
{
    write(fd,record,sizeof(struct stu));
}
int iscontinue()
{
    char c;
    printf("鏄惁緇х畫杈撳叆:\n");
    //fflush(stdin);
    
//fflush(stdout);
    scanf("\n%c",&c);    
    if(c=='Y' || c=='y')
    {
        return 1;
    }
    return 0;
}

int main()
{
    int fd;
    int r;
    struct stu s={0};
    fd=openfile("stu.dat");
    if(fd==-1) printf("openfile:%m\n"),exit(-1);
    
    while(1)
    {
        input(&s);
        save(fd,&s);
        r=iscontinue();
        if(r==0) break;
        system("clear");
    }
    close(fd);
    printf("杈撳叆瀹屾瘯!\n");    
}
3.鏂囦歡鎻忚堪絎﹀彿涓庨噸瀹氬悜
     1.鍒ゅ畾鏂囦歡鎻忚堪絎﹀彿涓庣粓绔殑閭﹀畾鍏崇郴
     int isatty(int fd)
     榪斿洖闈?:fd杈撳嚭緇堢
        0:fd杈撳嚭琚噸瀹氬悜
     2.闃叉閲嶅畾鍚?/span>
       /dev/tty

#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    int fd;
    printf("Hello\n");
    write(1,"World\n",6);
    fd=open("/dev/tty",O_WRONLY);
    if(isatty(1))
    {
        write(1,"notredir\n",9);
    }
    else
    {
        write(1,"redir\n",6);
    }
    write(fd,"Killer\n",7);
}

鎬葷粨:
  1.make鐨勫鐩爣渚濊禆瑙勫垯浠ュ強浼洰鏍?br style="margin: 0px; padding: 0px;" />  2.鏂囦歡鐨勫垱寤轟笌鎵撳紑(浜嗚В璁劇疆浣嶇殑浣滅敤)
  3.鏂囦歡鐨勮鍐?瀛楃涓?鍩烘湰綾誨瀷/緇撴瀯浣?
  4.浜嗚В鎻忚堪絎﹀彿涓庨噸瀹氬悜

浣滀笟:
  1.瀹屾垚涓婅鐨勭粌涔?
  2.鍐欎竴涓▼搴忎嬌鐢ㄧ粨鏋勪綋璇誨彇1縐嶇殑鏁版嵁,
     騫跺叏閮ㄦ墦鍗版暟鎹?
     騫舵墦鍗板鉤鍧囨垚緇?br style="margin: 0px; padding: 0px;" />  3.鍐欎竴涓▼搴?
    鏌ヨ1縐嶇殑鏁版嵁.姣斿:杈撳叆濮撳悕,鏌ヨ鎴愮嘩
  4.鍐欎竴涓▼搴?褰曞叆淇濆瓨濡備笅鏁版嵁:
    涔﹀悕  鍑虹増紺?nbsp; 浠鋒牸  瀛樺偍閲?nbsp; 浣滆?nbsp; 
  5.鍐欎竴涓▼搴忚礋璐f枃浠舵嫹璐?br style="margin: 0px; padding: 0px;" />    main 瀛樺湪鐨勬枃浠?nbsp; 鏂扮殑鏂囦歡鍚?br style="margin: 0px; padding: 0px;" />    瑕佹眰:
      鏂囦歡瀛樺湪灝辨嫹璐?涓嶅瓨鍦ㄦ彁紺洪敊璇?

 



閼緳 2012-12-30 16:39 鍙戣〃璇勮
]]>
linux楂樼駭緙栫▼day02 絎旇 (杞?http://m.shnenglu.com/mysileng/archive/2012/12/27/196708.html閼緳閼緳Thu, 27 Dec 2012 05:27:00 GMThttp://m.shnenglu.com/mysileng/archive/2012/12/27/196708.htmlhttp://m.shnenglu.com/mysileng/comments/196708.htmlhttp://m.shnenglu.com/mysileng/archive/2012/12/27/196708.html#Feedback0http://m.shnenglu.com/mysileng/comments/commentRss/196708.htmlhttp://m.shnenglu.com/mysileng/services/trackbacks/196708.html緇存姢涓涓綅緗?brk/sbrk鏀瑰彉榪欎釜浣嶇疆銆?br />brk鏀瑰彉緇濆浣嶇疆
sbrk鏀瑰彉鐩稿浣嶇疆

鏄ㄥぉ鐨勮ˉ鍏咃細
姘歌繙璁頒綇錛欳鐨勫熀鏈被鍨嬪氨閭e嚑縐嶃?br />鎵鏈夊叏鏂扮被鍨嬮兘鏄嬌鐢╰ypedef閲嶆柊瀹氫箟鐨勩?br />綾誨瀷閲嶅畾涔夌殑濂藉錛?br />1. 緇存姢鏂逛究
2. 渚夸簬縐繪錛堟瘡涓郴緇熶腑閮界敤鍚屼竴涓悕錛屼笉鐢ㄤ慨鏀癸級
3. 瀹規槗鐞嗚В

涓銆?鏄犲皠铏氭嫙鍐呭瓨
娌℃湁浠諱綍棰濆緇存姢鏁版嵁鐨勫唴瀛樺垎閰?mmap/munmap
1. 鍑芥暟璇存槑錛?br />

void *mmap(
void *start, //鎸囧畾鏄犲皠鐨勮櫄鎷熷湴鍧錛屽鏋滀負0錛屽垯鐢辯郴緇熸寚瀹氬紑濮嬩綅緗?/span>
size_t length,//鎸囧畾鏄犲皠絀洪棿鐨勫ぇ灝忋?nbsp;pagesize鐨勫嶆暟
int prot, //鏄犲皠鐨勬潈闄?nbsp;PROT_NONE PROT_READ PROT_WRITE PROT_WRITE PROT_EXEC
int flags, //鏄犲皠鐨勬柟寮?/span>
int fd, //鏂囦歡鎻忚堪絎﹀彿
offset_t off //鏂囦歡涓殑鏄犲皠寮濮嬩綅緗紙蹇呴』鏄?鎴杙agesezi鐨勫嶆暟錛?/span>
);

鍏充簬鏄犲皠鐨勬柟寮廸lags錛?br />鍐呭瓨鏄犲皠錛氬張鍙尶鍚嶆槧灝勶紝鏈鍚庝袱涓弬鏁版棤鏁?br />鏂囦歡鏄犲皠錛氭槧灝勫埌鏌愪釜鏂囦歡
鍙湁鏂囦歡鏄犲皠錛屾渶鍚庝袱涓弬鏁版墠鏈夋晥
MAP_ANONYMOUS:鍐呭瓨鏄犲皠
MAP_SHAREDMAP_PRIVATE錛氫簩閫変竴錛屾枃浠舵槧灝?br />
2. 妗堜緥錛?br />

#include <unistd.h>
#include <sys/mman.h>
#include <stdlib.h>
#include <stdio.h>

int main()
{
int *p = mmap(
NULL,
getpagesize(),
PROT_READ|PROT_WRITE,
MAP_ANONYMOUS|MAP_SHARED,
0,
0);
*P = 20;
*(p+1) = 30;
*(p+2) = 40;
printf("%d\n", p[2]); //鎵撳嵃鍑?0
munmap(p, 4096);
}
3. 鎬葷粨錛?br /> 閫夋嫨浠涔堟牱鐨勫唴瀛樼鐞嗘柟娉曪紵
STL
new

malloc灝忚屽鐨勬暟鎹?br /> brk/sbrk鍚岀被鍨嬬殑澶у潡鏁版嵁錛屽姩鎬佺Щ鍔ㄦ寚閽?br /> mmap/munmap 鎺у埗鍐呭瓨鐨勮闂?浣跨敤鏂囦歡鏄犲皠/鎺у埗鍐呭瓨鍏變韓

浜屻佺紪紼嬪伐鍏蜂笌鍔ㄦ佸簱
1. gcc
2. make
3. gdb
4. 鍏朵粬宸ュ叿
5. 鍔ㄦ佸簱錛堝叡浜簱錛?br />
1. gcc
    -o 杈撳嚭鏂囦歡鍚?br />    -O-O1-O2-O3//緙栬瘧浼樺寲
    -g-g1-g2-g3//浜х敓璋冭瘯淇℃伅 
    -Wallerror//-Wall 鏄劇ず鎵鏈夎鍛?Werror 灝嗚鍛婂綋鎴愰敊璇彁紺?br />    -w//鍏抽棴鎵鏈夎鍛?br />    -c//鍙紪璇戜笉榪炴帴錛屼駭鐢?.o鏂囦歡錛堢洰鏍囨枃浠訛級
    -E//棰勭紪璇?br />    -S//姹囩紪銆?浜х敓 .s鏂囦歡錛堟眹緙栨枃浠訛級

緙栬瘧4榪囩▼鏄?-E(浜х敓.i) -c(浜х敓.o) -S(浜х敓.s) 鑷姩璋冪敤榪炴帴鍣?/span>ld

    -D//鍦ㄥ懡浠よ瀹氫箟瀹?錛堝畯鍙互鍦ㄤ唬鐮佷腑瀹氫箟錛屼篃鍙互鍦ㄥ懡浠よ涓婂畾涔夛級
    -x//鎸囧畾緙栬瘧鐨勮璦綾誨瀷 C, C++, .S(姹囩紪)錛?none錛堣嚜鍔ㄥ垽瀹氾級
    -std=c89  浣跨敤鏍囧噯C89
    -std=c99  浣跨敤鏍囧噯C99

涓夈?闈欐佸簱鐨勭紪璇?br />1. 緙栬瘧榪囩▼ 錛?.a錛?a鏄痑chieve鐨勭緝鍐?br />  1.1 緙栬瘧鎴愮洰鏍囨枃浠?br />    -static 鍙?br />    gcc -c -static 浠g爜鏂囦歡.c  //鐢熶駭鍙敤浜庡綊妗g殑鐩爣浠g爜:浠g爜鏂囦歡.0
  1.2 褰掓。鎴愰潤鎬佸簱
    ar宸ュ叿 錛堝父鐢?r -t閫夐」錛?br />    ar -r 闈欐佸簱 琚綊妗g殑鏂囦歡鍚?涓婁竴姝ヤ唬鐮佹枃浠?o) 
    ar -r add.a add.o
    nm宸ュ叿錛堟煡鐪嬪簱涓墍钑村惈鐨勫嚱鏁板垪琛級
    nm 闈欐佸簱鎴栧姩鎬佸簱鎴栫洰鏍囨枃浠舵垨鎵ц鏂囦歡
  1.3 浣跨敤闈欐佸簱
    gcc 浠g爜鏂囦歡 闈欐佸簱
灝忎緥瀛愶細
浣跨敤闈欐佸簱瀹屾垚濡備笅紼嬪簭
杈撳叆涓涓彵褰㈠崐寰勶紝鎵撳嵃鑿卞艦
杈撳叆鏁村瀷灝佽鎴怚OTool
鑿卞艦鎵撳嵃灝佽鎴怗raphic
璁″垝錛?br />1. 瀹炵幇杈撳叆
2. 瀹炵幇鑿卞艦
3. 緙栬瘧闈欐佸簱
4. 璋冪敤闈欐佸簱

//iotool.c
#include <stdio.h>
int inputInt(const char *info)
{
int r; //榪斿洖鍊?/span>
printf("%s:", info);
scanf("%d", &r);
return r;
}
//graphic.c
#include <stdio.h>
void diamond(int r)
{
int x, y;
for(y=0; y<=2*r; y++)
{
for(x=0; x<=2*r; x++)
{
if(y == x+r || y == x-r ||y == -x+r || y == -x+3*r)
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");

}
}

緙栬瘧錛?gcc -c -static iotool.c

gcc -c -static graphic.c
ar -r demo1.a iotool.o graphic.o
ar -t demo1.a //鐩稿綋浜巒m demo1.a

//main.c
main()
{
int r = inputInt("杈撳叆鑿卞艦鍗婂緞錛?);
diamond(r);
}

緙栬瘧: gcc main.c demo1.a -o main

鎵ц錛?/main
鎶婇潤鎬佸簱浣滀負浠g爜鐨勪竴閮ㄥ垎鏉ョ紪璇?br />
鎬葷粨錛?br />1. 浠涔堟槸搴擄紵
鍑芥暟絳変唬鐮佸皝瑁呯殑浜岃繘鍒跺凡緇忕紪璇戠殑褰掓。鏂囦歡
2. ar褰掓。宸ュ叿
3. 閲囩敤搴撶殑鏂瑰紡綆$悊浠g爜浼樼偣錛?br />瀹規槗緇勭粐浠g爜
澶嶇敤
淇濇姢浠g爜鐗堟潈
4. 闈欐佸簱鐨?#8220;闈欐?#8221;鐨勫惈涔夛細
緙栬瘧濂界殑紼嬪簭榪愯鐨勬椂鍊欎笉渚濊禆搴?br />搴撲綔涓虹▼搴忕殑涓閮ㄥ垎緙栬瘧榪炴帴
5. 闈欐佸簱鐨勬湰璐?/span>
灝辨槸鐩爣鏂囦歡鐨勯泦鍚堬紙褰掓。錛?/span>
6. -static鍙?br />
2. 搴撶殑瑙勮寖涓庣害瀹?br />搴撳懡鍚嶈鍒欙細
lib搴撳悕.a.涓葷増鏈彿.鍓増鏈彿.鎵瑰彿
涓鑸氨鍐?#8220;lib搴撳悕.a”灝辮浜嗐?br />ar -r libdemo2.a iotool.o graphic.o
搴撶殑浣跨敤瑙勫垯
-l搴撳悕
-L搴撴墍鍦ㄧ殑鐩綍
gcc main.c -o main -l demo2 -L.

鍥涖?鍔ㄦ佸簱鐨勭紪璇?br />1. 浠涔堟槸鍔ㄦ佸簱錛堝叡浜簱錛?br />鍔ㄦ佸簱鏄彲浠ユ墽琛岀殑錛岄潤鎬佸簱涓嶈兘鎵ц
浣嗗姩鎬佸簱娌℃湁main錛屼笉鑳界嫭绔嬫墽琛?br />鍔ㄦ佸簱涓嶄細榪炴帴鎴愮▼搴忕殑涓閮ㄥ垎
紼嬪簭鎵ц鏃訛紝蹇呴』闇瑕佸姩鎬佸簱鏂囦歡
2. 宸ュ叿
ldd鏌ョ湅紼嬪簭闇瑕佽皟鐢ㄧ殑鍔ㄦ佸簱 錛宭dd鍙兘鏌ョ湅鍙墽琛屾枃浠訛紙鍏變韓搴撴枃浠舵垨elf鏂囦歡錛?br />nm 錛堟煡鐪嬪簱涓殑鍑芥暟絎﹀彿錛?br />3. 鍔ㄦ佸簱鐨勭紪璇?br />3.1緙栬瘧
-c -f pic(鍙? (-f 鎸囧畾鏂囦歡鏍煎紡 pic 浣嶇疆鏃犲叧浠g爜)
3.2 榪炴帴
-shared

緙栬瘧錛歡cc -c -fpic iotool.c
gcc -c -fpic graphic.c
(闈炴爣鍑?gcc -shared -odemo3.so iotool.o graphic.o
(鏍囧噯)gcc -shared -olibdemo4.so iotool.o graphic.o
4. 浣跨敤鍔ㄦ佸簱
gcc 浠g爜鏂囦歡鍚?鍔ㄦ佸簱鏂囦歡鍚?br />gcc 浠g爜鏂囦歡鍚?-l搴撳悕 -L鍔ㄦ佸簱鎵鍦ㄧ殑璺緞
gcc main.c -ldemo4 -L. -o main

鏍囧噯鍛藉悕瑙勫垯錛?br />lib搴撳悕.so
lib搴撳悕.a

闂錛?br />4.1 鎵ц紼嬪簭鎬庝箞鍔犺澆鍔ㄦ佸簱錛?br />4.2 鍔ㄦ佸簱娌℃湁浣滀負鎵ц紼嬪簭鐨勪竴閮ㄥ垎錛屼負浠涔堣繛鎺ラ渶瑕佸埗瀹氬姩鎬佸簱鍙婄洰褰曪紵
鍥犱負榪炴帴鍣ㄩ渶瑕佺‘璁ゅ嚱鏁板湪鍔ㄦ佸簱涓殑浣嶇疆
鍔ㄦ佸簱鐨勫姞杞斤細
1. 鎵懼埌鍔ㄦ佸簱
2. 鍔犺澆鍔ㄦ佸簱鍒板唴瀛橈紙緋葷粺瀹炵幇錛?br />3. 鏄犲皠鍒扮敤鎴風殑鍐呭瓨絀洪棿錛堢郴緇熷疄鐜幫級
鍔ㄦ佸簱鏌ユ壘瑙勫垯錛?br />/lib
/user/lib
LD_LIBRARY_PATH鐜鍙橀噺鎸囧畾鐨勮礬寰勪腑鎵?br />璁劇疆褰撳墠璺緞涓虹幆澧冨彉閲忥細錛?span style="color: red;">鑷繁瀹氫箟鐨勫簱鏈濂借緗ソ鐩綍錛屾垨鑰呮斁鍒頒笂榪板叕鍏辯洰褰曪級

export LD_LIBRARY_PATH=.:~:..:~Walle
緙撳啿鏈哄埗錛?br />緋葷粺鎶妉ib:/user/lib:LD_LIBRARY_PATH閲岀殑鏂囦歡鍔犺澆鍒扮紦鍐?br />/sbin/ldconfig -v 鍒鋒柊緙撳啿so涓殑鎼滅儲搴撶殑璺緞
灝忕粌涔狅細
杈撳叆涓や釜鏁幫紝璁$畻涓や釜鏁扮殑鍜屻?br />瑕佹眰錛氳緭鍏ヤ笌璁$畻涓や釜鏁扮殑鍜屽皝瑁呮垚鍔ㄦ佸簱璋冪敤

浜斻?浣跨敤libdl.so搴?br />鍔ㄦ佸簱鍔犺澆鍘熺悊
鍔ㄦ佸簱涓嚱鏁扮殑鏌ユ壘宸茬粡灝佽鎴愬摥libdl.so
libdl.so閲岄潰鏈?涓嚱鏁幫細
dlopen//鎵撳紑涓涓姩鎬佸簱
dlsym//鍦ㄦ墦寮鐨勫姩鎬佸簱閲屾壘涓涓嚱鏁?br />dlclose//鍏抽棴鍔ㄦ佸簱
dlerror//榪斿洖閿欒


//dldemo.c
#include <dlfcn.h>
main()
{
void *handle = dlopen("./libdemo4.so", RTLD_LAZY);
void (*fun)(int) = dlsym(handle, "diamond");
fun(5);
dlclose(handle);
}
gcc dldemo.c -o main -ldl

ldd main
./main

鎬葷粨錛?br /> 1. 緙栬瘧榪炴帴鍔ㄦ佸簱
2. 浣跨敤鍔ㄦ佸簱
3. 鎬庝箞閰嶇疆璁╃▼搴忚皟鐢ㄥ姩鎬佸簱
4. 鎺屾彙鏌愪簺宸ュ叿鐨勪嬌鐢?nm ldd lddconfig objdump strit(鍘繪帀澶氫綑鐨勪俊鎭?

鍏?宸ュ叿make鐨勪嬌鐢ㄤ笌makefile鑴氭湰
鑳屾櫙錛?br />make緙栬瘧鑴氭湰瑙i噴
緙栬瘧鑴氭湰makefile
make -f 鑴氭湰鏂囦歡 鐩爣
鑴氭湰鏂囦歡錛?br />1. 鏂囨湰鏂囦歡 錛堜緥濡?demo.mk錛?br />2. 鍩烘湰鏋勬垚璇硶
鍩烘湰鍗曚綅鐩爣target
鐩爣鍚嶏細渚濊禆鐩爣
\t鐩爣鎸囦護
\t鐩爣鎸囦護

//demo.mk
demo:iotool.c graphic.c main.c
gcc iotool.c -c
gcc graphic.c -c
gcc iotool.o graphic.o -shared -o libdemo.so
gcc main.c -ldemo -L. -o main
make -f demo.mk demo 浼氱敓浜ain鍙墽琛屾枃浠?img src ="http://m.shnenglu.com/mysileng/aggbug/196708.html" width = "1" height = "1" />

閼緳 2012-12-27 13:27 鍙戣〃璇勮
]]>
linux楂樼駭緙栫▼day01 絎旇 (杞?http://m.shnenglu.com/mysileng/archive/2012/12/26/196698.html閼緳閼緳Wed, 26 Dec 2012 11:55:00 GMThttp://m.shnenglu.com/mysileng/archive/2012/12/26/196698.htmlhttp://m.shnenglu.com/mysileng/comments/196698.htmlhttp://m.shnenglu.com/mysileng/archive/2012/12/26/196698.html#Feedback0http://m.shnenglu.com/mysileng/comments/commentRss/196698.htmlhttp://m.shnenglu.com/mysileng/services/trackbacks/196698.html闃呰鍏ㄦ枃

閼緳 2012-12-26 19:55 鍙戣〃璇勮
]]>
久久综合九色综合久99| 久久成人精品视频| 日韩电影久久久被窝网| 亚洲国产精品狼友中文久久久| 久久精品成人欧美大片| 久久久精品国产免大香伊| 国内精品九九久久久精品| 伊人久久大香线焦综合四虎| 少妇人妻综合久久中文字幕| 久久久久人妻精品一区二区三区| 草草久久久无码国产专区| 伊人情人综合成人久久网小说| 国产情侣久久久久aⅴ免费| 久久久久国产精品嫩草影院 | 91精品无码久久久久久五月天| 欧美午夜A∨大片久久| 国产精品天天影视久久综合网| 久久精品草草草| 亚洲综合熟女久久久30p| 99热热久久这里只有精品68| 久久精品国产亚洲AV忘忧草18| 成人国内精品久久久久影院VR| 久久亚洲精品无码AV红樱桃| 久久久久九九精品影院| 久久久久中文字幕| 久久精品国产亚洲AV电影| 久久久久久曰本AV免费免费| 久久久久久久亚洲精品| 久久99国产精一区二区三区| 人妻丰满AV无码久久不卡| 东方aⅴ免费观看久久av| 久久久久免费视频| 精品久久久久中文字| 一本一道久久精品综合| 99久久精品国产免看国产一区| 一本一道久久综合狠狠老| 久久久久99这里有精品10| 久久嫩草影院免费看夜色| 久久精品国产一区二区电影| 国产激情久久久久影院老熟女| 97超级碰碰碰碰久久久久|