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

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

?? 找到了份挺好的中文 makefile 的教程, 非常詳細清楚_ 大家共享_ - itpub論壇.htm

?? Makefile編程及相關資料的介紹與入門。很適合初學者的學習與借鑒
?? HTM
?? 第 1 頁 / 共 5 頁
字號:
                  File),在大多數時候,由于源文件太多,編譯生成的中間目標文件太多,而在鏈接時需要明顯地指出中間目標文件名,這對于編譯很不方便,所以,我們要給中間目標文件打個包,在Windows下這種包叫“庫文件”(Library 
                  File),也就是 .lib 文件,在UNIX下,是Archive File,也就是 .a 
                  文件。<BR><BR>總結一下,源文件首先會生成中間目標文件,再由中間目標文件生成執行文件。在編譯時,編譯器只檢測程序語法,和函數、變量是否被聲明。如果函數未被聲明,編譯器會給出一個警告,但可以生成Object 
                  File。而在鏈接程序時,鏈接器會在所有的Object 
                  File中找尋函數的實現,如果找不到,那到就會報鏈接錯誤碼(Linker Error),在VC下,這種錯誤一般是:Link 
                  2001錯誤,意思說是說,鏈接器未能找到函數的實現。你需要指定函數的Object 
                  File.<BR><BR>好,言歸正傳,GNU的make有許多的內容,閑言少敘,還是讓我們開始吧。<BR><BR><BR><BR>Makefile 
                  介紹<BR>———————<BR><BR>make命令執行時,需要一個 Makefile 
                  文件,以告訴make命令需要怎么樣的去編譯和鏈接程序。<BR><BR>首先,我們用一個示例來說明Makefile的書寫規則。以便給大家一個感興認識。這個示例來源于GNU的make使用手冊,在這個示例中,我們的工程有8個C文件,和3個頭文件,我們要寫一個Makefile來告訴make命令如何編譯和鏈接這幾個文件。我們的規則是:<BR>1)如果這個工程沒有編譯過,那么我們的所有C文件都要編譯并被鏈接。<BR>2)如果這個工程的某幾個C文件被修改,那么我們只編譯被修改的C文件,并鏈接目標程序。<BR>3)如果這個工程的頭文件被改變了,那么我們需要編譯引用了這幾個頭文件的C文件,并鏈接目標程序。<BR><BR>只要我們的Makefile寫得夠好,所有的這一切,我們只用一個make命令就可以完成,make命令會自動智能地根據當前的文件修改的情況來確定哪些文件需要重編譯,從而自己編譯所需要的文件和鏈接目標程序。<BR><BR><BR>一、Makefile的規則<BR><BR>在講述這個Makefile之前,還是讓我們先來粗略地看一看Makefile的規則。<BR><BR>target 
                  ... : prerequisites 
                  ...<BR>command<BR>...<BR>...<BR><BR>target也就是一個目標文件,可以是Object 
                  File,也可以是執行文件。還可以是一個標簽(Label),對于標簽這種特性,在后續的“偽目標”章節中會有敘述。<BR><BR>prerequisites就是,要生成那個target所需要的文件或是目標。<BR><BR>command也就是make需要執行的命令。(任意的Shell命令)<BR><BR>這是一個文件的依賴關系,也就是說,target這一個或多個的目標文件依賴于prerequisites中的文件,其生成規則定義在command中。說白一點就是說,prerequisites中如果有一個以上的文件比target文件要新的話,command所定義的命令就會被執行。這就是Makefile的規則。也就是Makefile中最核心的內容。<BR><BR>說到底,Makefile的東西就是這樣一點,好像我的這篇文檔也該結束了。呵呵。還不盡然,這是Makefile的主線和核心,但要寫好一個Makefile還不夠,我會以后面一點一點地結合我的工作經驗給你慢慢到來。內容還多著呢。:)<BR><BR><BR>二、一個示例<BR><BR>正如前面所說的,如果一個工程有3個頭文件,和8個C文件,我們為了完成前面所述的那三個規則,我們的Makefile應該是下面的這個樣子的。<BR><BR>edit 
                  : main.o kbd.o command.o display.o \<BR>insert.o search.o 
                  files.o utils.o<BR>cc -o edit main.o kbd.o command.o display.o 
                  \<BR>insert.o search.o files.o utils.o<BR><BR>main.o : main.c 
                  defs.h<BR>cc -c main.c<BR>kbd.o : kbd.c defs.h command.h<BR>cc 
                  -c kbd.c<BR>command.o : command.c defs.h command.h<BR>cc -c 
                  command.c<BR>display.o : display.c defs.h buffer.h<BR>cc -c 
                  display.c<BR>insert.o : insert.c defs.h buffer.h<BR>cc -c 
                  insert.c<BR>search.o : search.c defs.h buffer.h<BR>cc -c 
                  search.c<BR>files.o : files.c defs.h buffer.h command.h<BR>cc 
                  -c files.c<BR>utils.o : utils.c defs.h<BR>cc -c 
                  utils.c<BR>clean :<BR>rm edit main.o kbd.o command.o display.o 
                  \<BR>insert.o search.o files.o 
                  utils.o<BR><BR>反斜杠(\)是換行符的意思。這樣比較便于Makefile的易讀。我們可以把這個內容保存在文件為“Makefile”或“makefile”的文件中,然后在該目錄下直接輸入命令“make”就可以生成執行文件edit。如果要刪除執行文件和所有的中間目標文件,那么,只要簡單地執行一下“make 
                  clean”就可以了。<BR><BR>在這個makefile中,目標文件(target)包含:執行文件edit和中間目標文件(*.o),依賴文件(prerequisites)就是冒號后面的那些 
                  .c 文件和 .h文件。每一個 .o 文件都有一組依賴文件,而這些 .o 文件又是執行文件 edit 
                  的依賴文件。依賴關系的實質上就是說明了目標文件是由哪些文件生成的,換言之,目標文件是哪些文件更新的。<BR><BR>在定義好依賴關系后,后續的那一行定義了如何生成目標文件的操作系統命令,一定要以一個Tab鍵作為開頭。記住,make并不管命令是怎么工作的,他只管執行所定義的命令。make會比較targets文件和prerequisites文件的修改日期,如果prerequisites文件的日期要比targets文件的日期要新,或者target不存在的話,那么,make就會執行后續定義的命令。<BR><BR>這里要說明一點的是,clean不是一個文件,它只不過是一個動作名字,有點像C語言中的lable一樣,其冒號后什么也沒有,那么,make就不會自動去找文件的依賴性,也就不會自動執行其后所定義的命令。要執行其后的命令,就要在make命令后明顯得指出這個lable的名字。這樣的方法非常有用,我們可以在一個makefile中定義不用的編譯或是和編譯無關的命令,比如程序的打包,程序的備份,等等。<BR><BR><BR><BR>三、make是如何工作的<BR><BR>在默認的方式下,也就是我們只輸入make命令。那么,<BR><BR>1、make會在當前目錄下找名字叫“Makefile”或“makefile”的文件。<BR>2、如果找到,它會找文件中的第一個目標文件(target),在上面的例子中,他會找到“edit”這個文件,并把這個文件作為最終的目標文件。<BR>3、如果edit文件不存在,或是edit所依賴的后面的 
                  .o 
                  文件的文件修改時間要比edit這個文件新,那么,他就會執行后面所定義的命令來生成edit這個文件。<BR>4、如果edit所依賴的.o文件也存在,那么make會在當前文件中找目標為.o文件的依賴性,如果找到則再根據那一個規則生成.o文件。(這有點像一個堆棧的過程)<BR>5、當然,你的C文件和H文件是存在的啦,于是make會生成 
                  .o 文件,然后再用 .o 
                  文件生命make的終極任務,也就是執行文件edit了。<BR><BR>這就是整個make的依賴性,make會一層又一層地去找文件的依賴關系,直到最終編譯出第一個目標文件。在找尋的過程中,如果出現錯誤,比如最后被依賴的文件找不到,那么make就會直接退出,并報錯,而對于所定義的命令的錯誤,或是編譯不成功,make根本不理。make只管文件的依賴性,即,如果在我找了依賴關系之后,冒號后面的文件還是不在,那么對不起,我就不工作啦。<BR><BR>通過上述分析,我們知道,像clean這種,沒有被第一個目標文件直接或間接關聯,那么它后面所定義的命令將不會被自動執行,不過,我們可以顯示要make執行。即命令——“make 
                  clean”,以此來清除所有的目標文件,以便重編譯。<BR><BR>于是在我們編程中,如果這個工程已被編譯過了,當我們修改了其中一個源文件,比如file.c,那么根據我們的依賴性,我們的目標file.o會被重編譯(也就是在這個依性關系后面所定義的命令),于是file.o的文件也是最新的啦,于是file.o的文件修改時間要比edit要新,所以edit也會被重新鏈接了(詳見edit目標文件后定義的命令)。<BR><BR>而如果我們改變了“command.h”,那么,kdb.o、command.o和files.o都會被重編譯,并且,edit會被重鏈接。<BR><BR><BR>四、makefile中使用變量<BR><BR>在上面的例子中,先讓我們看看edit的規則:<BR><BR>edit 
                  : main.o kbd.o command.o display.o \<BR>insert.o search.o 
                  files.o utils.o<BR>cc -o edit main.o kbd.o command.o display.o 
                  \<BR>insert.o search.o files.o 
                  utils.o<BR><BR>我們可以看到[.o]文件的字符串被重復了兩次,如果我們的工程需要加入一個新的[.o]文件,那么我們需要在兩個地方加(應該是三個地方,還有一個地方在clean中)。當然,我們的makefile并不復雜,所以在兩個地方加也不累,但如果makefile變得復雜,那么我們就有可能會忘掉一個需要加入的地方,而導致編譯失敗。所以,為了makefile的易維護,在makefile中我們可以使用變量。makefile的變量也就是一個字符串,理解成C語言中的宏可能會更好。<BR><BR>比如,我們聲明一個變量,叫objects, 
                  OBJECTS, objs, OBJS, obj, 或是 
                  OBJ,反正不管什么啦,只要能夠表示obj文件就行了。我們在makefile一開始就這樣定義:<BR><BR>objects 
                  = main.o kbd.o command.o display.o \<BR>insert.o search.o 
                  files.o 
                  utils.o<BR><BR>于是,我們就可以很方便地在我們的makefile中以“$(objects)”的方式來使用這個變量了,于是我們的改良版makefile就變成下面這個樣子:<BR><BR>objects 
                  = main.o kbd.o command.o display.o \<BR>insert.o search.o 
                  files.o utils.o<BR><BR>edit : $(objects)<BR>cc -o edit 
                  $(objects)<BR>main.o : main.c defs.h<BR>cc -c main.c<BR>kbd.o 
                  : kbd.c defs.h command.h<BR>cc -c kbd.c<BR>command.o : 
                  command.c defs.h command.h<BR>cc -c command.c<BR>display.o : 
                  display.c defs.h buffer.h<BR>cc -c display.c<BR>insert.o : 
                  insert.c defs.h buffer.h<BR>cc -c insert.c<BR>search.o : 
                  search.c defs.h buffer.h<BR>cc -c search.c<BR>files.o : 
                  files.c defs.h buffer.h command.h<BR>cc -c files.c<BR>utils.o 
                  : utils.c defs.h<BR>cc -c utils.c<BR>clean :<BR>rm edit 
                  $(objects)<BR><BR><BR>于是如果有新的 .o 文件加入,我們只需簡單地修改一下 objects 
                  變量就可以了。<BR><BR>關于變量更多的話題,我會在后續給你一一道來。<BR><BR><BR>五、讓make自動推導<BR><BR>GNU的make很強大,它可以自動推導文件以及文件依賴關系后面的命令,于是我們就沒必要去在每一個[.o]文件后都寫上類似的命令,因為,我們的make會自動識別,并自己推導命令。<BR><BR>只要make看到一個[.o]文件,它就會自動的把[.c]文件加在依賴關系中,如果make找到一個whatever.o,那么whatever.c,就會是whatever.o的依賴文件。并且 
                  cc -c whatever.c 
                  也會被推導出來,于是,我們的makefile再也不用寫得這么復雜。我們的是新的makefile又出爐了。<BR><BR><BR>objects 
                  = main.o kbd.o command.o display.o \<BR>insert.o search.o 
                  files.o utils.o<BR><BR>edit : $(objects)<BR>cc -o edit 
                  $(objects)<BR><BR>main.o : defs.h<BR>kbd.o : defs.h 
                  command.h<BR>command.o : defs.h command.h<BR>display.o : 
                  defs.h buffer.h<BR>insert.o : defs.h buffer.h<BR>search.o : 
                  defs.h buffer.h<BR>files.o : defs.h buffer.h 
                  command.h<BR>utils.o : defs.h<BR><BR>.PHONY : clean<BR>clean 
                  :<BR>rm edit 
                  $(objects)<BR><BR>這種方法,也就是make的“隱晦規則”。上面文件內容中,“.PHONY”表示,clean是個偽目標文件。<BR><BR>關于更為詳細的“隱晦規則”和“偽目標文件”,我會在后續給你一一道來。<BR><BR><BR>六、另類風格的makefile<BR><BR>即然我們的make可以自動推導命令,那么我看到那堆[.o]和[.h]的依賴就有點不爽,那么多的重復的[.h],能不能把其收攏起來,好吧,沒有問題,這個對于make來說很容易,誰叫它提供了自動推導命令和文件的功能呢?來看看最新風格的makefile吧。<BR><BR>objects 
                  = main.o kbd.o command.o display.o \<BR>insert.o search.o 
                  files.o utils.o<BR><BR>edit : $(objects)<BR>cc -o edit 
                  $(objects)<BR><BR>$(objects) : defs.h<BR>kbd.o command.o 
                  files.o : command.h<BR>display.o insert.o search.o files.o : 
                  buffer.h<BR><BR>.PHONY : clean<BR>clean :<BR>rm edit 
                  $(objects)<BR><BR>這種風格,讓我們的makefile變得很簡單,但我們的文件依賴關系就顯得有點凌亂了。魚和熊掌不可兼得。還看你的喜好了。我是不喜歡這種風格的,一是文件的依賴關系看不清楚,二是如果文件一多,要加入幾個新的.o文件,那就理不清楚了。</FONT></P>
                  <P><FONT face="verdana, arial, helvetica" 
                  size=2><BR>__________________<BR>生命最重要的是經歷, 而不是最后的結局 --------- 
                  體驗每一步艱辛以后得到的快樂.</FONT></P>
                  <P></P>
                  <P align=right><FONT face=verdana,arial,helvetica size=1><A 
                  href="http://www.itpub.net/report.php?s=&amp;postid=1427647"><IMG 
                  alt=向版主反映這個帖子 
                  src="找到了份挺好的中文 Makefile 的教程, 非常詳細清楚_ 大家共享_ - ITPUB論壇.files/warn.gif" 
                  border=0></A><A 
                  href="http://www.itpub.net/postings.php?s=&amp;action=getip&amp;postid=1427647"><IMG 
                  alt="查看qzha006 的IP地址" 
                  src="找到了份挺好的中文 Makefile 的教程, 非常詳細清楚_ 大家共享_ - ITPUB論壇.files/ip.gif" 
                  border=0 a <></FONT></P></A></TD></TR>
              <TR>
                <TD noWrap width=175 bgColor=#dfdfdf height=16><FONT 
                  face=verdana,arial,helvetica size=1><A 
                  href="http://www.itpub.net/user_rss.php?userid=8457"><IMG 
                  alt="qzha006 在線" 
                  src="找到了份挺好的中文 Makefile 的教程, 非常詳細清楚_ 大家共享_ - ITPUB論壇.files/on.gif" 
                  align=absMiddle border=0></A> <IMG alt=舊帖 
                  src="找到了份挺好的中文 Makefile 的教程, 非常詳細清楚_ 大家共享_ - ITPUB論壇.files/posticon.gif" 
                  border=0> 04-05-05 <FONT color=#666686>05:17</FONT></FONT></TD>
                <TD vAlign=center width="100%" bgColor=#dfdfdf height=16>
                  <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
                    <TBODY>
                    <TR vAlign=bottom>
                      <TD><FONT face=verdana,arial,helvetica size=1><A 
                        href="http://www.itpub.net/member.php?s=&amp;action=getinfo&amp;userid=8457" 
                        target=_blank><IMG alt="點這里查看 qzha006 的個人資料" 
                        src="找到了份挺好的中文 Makefile 的教程, 非常詳細清楚_ 大家共享_ - ITPUB論壇.files/profile.gif" 
                        border=0></A> <A 
                        href="http://www.itpub.net/private.php?s=&amp;action=newmessage&amp;userid=8457"><IMG 
                        alt="點這里給 qzha006發送一條悄悄話" 
                        src="找到了份挺好的中文 Makefile 的教程, 非常詳細清楚_ 大家共享_ - ITPUB論壇.files/sendpm.gif" 
                        border=0></A> <A 
                        href="http://www.itpub.net/search.php?s=&amp;action=finduser&amp;userid=8457"><IMG 
                        alt="查找 qzha006 的更多帖子" 
                        src="找到了份挺好的中文 Makefile 的教程, 非常詳細清楚_ 大家共享_ - ITPUB論壇.files/find.gif" 
                        border=0></A> <A 
                        href="http://www.itpub.net/member2.php?s=&amp;action=addlist&amp;userlist=buddy&amp;userid=8457"><IMG 
                        alt="將 qzha006 添加到你的好友列表" 
                        src="找到了份挺好的中文 Makefile 的教程, 非常詳細清楚_ 大家共享_ - ITPUB論壇.files/buddy.gif" 
                        border=0></A> <!-- $ post[aimicon] --><!-- $ post[yahooicon] --></FONT></TD>
                      <TD noWrap align=right><FONT 
                        face=verdana,arial,helvetica size=1><A 
                        href="http://www.itpub.net/editpost.php?s=&amp;action=editpost&amp;postid=1427647"><IMG 
                        alt=編輯/刪除 
                        src="找到了份挺好的中文 Makefile 的教程, 非常詳細清楚_ 大家共享_ - ITPUB論壇.files/edit.gif" 
                        border=0></A> <A 
                        href="http://www.itpub.net/newreply.php?s=&amp;action=newreply&amp;postid=1427647"><IMG 
                        alt=引用/回復 
                        src="找到了份挺好的中文 Makefile 的教程, 非常詳細清楚_ 大家共享_ - ITPUB論壇.files/quote.gif" 
                        border=0></A> 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区三区在线播放视频| 99精品久久只有精品| 国产精品白丝jk白祙喷水网站| 99精品在线免费| 久久综合久久综合久久| 亚洲国产婷婷综合在线精品| 国产a久久麻豆| 日韩一区二区中文字幕| 一区二区三区免费观看| 成人福利视频网站| 亚洲精品在线网站| 蜜臀久久99精品久久久久宅男| 91免费版在线看| 欧美激情一区三区| 国产成人免费视频一区| 精品国产一区二区在线观看| 日韩精品五月天| 欧美在线三级电影| 亚洲精品高清在线| 成人在线综合网| 久久久亚洲精品一区二区三区| 免费成人性网站| 欧美精选一区二区| 日日夜夜免费精品| 欧美日本在线看| 香蕉久久一区二区不卡无毒影院| 色噜噜夜夜夜综合网| 《视频一区视频二区| thepron国产精品| 国产精品免费av| 国产91富婆露脸刺激对白| 国产免费成人在线视频| 国产99精品视频| 中文字幕欧美激情一区| www.成人在线| 亚洲同性同志一二三专区| 99久久精品国产精品久久| 国产精品福利一区| 色香蕉久久蜜桃| 亚洲国产一二三| 日韩欧美国产不卡| 天天av天天翘天天综合网| 欧美精品aⅴ在线视频| 天堂成人国产精品一区| 欧美精品三级日韩久久| 精品无人码麻豆乱码1区2区 | 欧美国产1区2区| 成人一级片网址| 亚洲三级在线免费观看| 欧美亚一区二区| 青青草原综合久久大伊人精品优势| 欧美高清dvd| 国内成+人亚洲+欧美+综合在线| 日本一区二区三区国色天香 | 亚洲午夜精品17c| 欧美福利视频导航| 国产高清亚洲一区| 一区二区三区小说| 日韩一区二区在线观看视频播放| 国产99久久精品| 亚洲成av人**亚洲成av**| 日韩欧美成人一区二区| 成人高清在线视频| 日韩高清不卡在线| 国产精品水嫩水嫩| 在线不卡免费av| 国产精品18久久久久久vr| 亚洲精品videosex极品| 欧美成人精品1314www| 不卡影院免费观看| 天天综合日日夜夜精品| 中文字幕欧美区| 91精品国产欧美一区二区成人| 国产suv精品一区二区三区| 亚洲成人午夜影院| 国产精品网曝门| 51精品视频一区二区三区| 成人黄色电影在线| 免费一级欧美片在线观看| 国产精品国产三级国产aⅴ原创| 欧美精品v日韩精品v韩国精品v| 成人免费毛片app| 另类小说视频一区二区| 亚洲色图在线播放| 国产欧美一区二区精品性| 日韩一区二区麻豆国产| 不卡的av电影在线观看| 蜜臀精品一区二区三区在线观看| 亚洲视频一区在线| 久久久久亚洲蜜桃| 欧美一区二区三区不卡| 欧美伊人久久久久久久久影院| 成人免费看视频| 国产乱人伦偷精品视频免下载| 五月天久久比比资源色| 亚洲人成人一区二区在线观看| 久久久综合视频| 91超碰这里只有精品国产| 色综合天天狠狠| 99riav久久精品riav| 国产成人综合亚洲网站| 激情六月婷婷久久| 日本成人超碰在线观看| 日一区二区三区| 亚洲va中文字幕| 亚洲一区二区三区四区五区黄 | 欧美一二区视频| 欧美剧在线免费观看网站| 91福利小视频| 色综合天天狠狠| 一本到一区二区三区| 一本久久a久久精品亚洲| 99久久精品久久久久久清纯| 波多野结衣欧美| 成人动漫视频在线| 不卡一卡二卡三乱码免费网站| 国产自产高清不卡| 国产精品影视在线| 国产风韵犹存在线视精品| 国产精品白丝jk黑袜喷水| 国产91丝袜在线播放| 国产福利不卡视频| 91丨国产丨九色丨pron| 99国产精品久久| 91极品美女在线| 欧美精品亚洲一区二区在线播放| 欧美肥妇毛茸茸| 日韩精品影音先锋| 国产拍欧美日韩视频二区 | 欧美精品一区二区三区很污很色的 | 国产一区二区三区在线观看免费视频| 99精品久久只有精品| 日韩精品乱码免费| 久草中文综合在线| 国产91丝袜在线播放0| 色婷婷综合久久久久中文一区二区| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 久久99久久久久久久久久久| 蜜乳av一区二区| 国产乱理伦片在线观看夜一区| 国产成人综合亚洲91猫咪| 91丨九色丨国产丨porny| 欧美日韩国产精选| 久久亚洲综合av| 亚洲欧美欧美一区二区三区| 青草国产精品久久久久久| 国模套图日韩精品一区二区| 99麻豆久久久国产精品免费优播| 一本色道久久综合亚洲精品按摩| 91麻豆精品国产91久久久久久| 久久伊99综合婷婷久久伊| 亚洲欧美视频一区| 久久精品99国产精品| aaa国产一区| 日韩一级免费一区| 中文字幕在线不卡一区| 午夜电影一区二区| 成人av片在线观看| 欧美一区二区三区爱爱| 国产精品久久久久影院老司| 日韩中文字幕91| 99精品久久久久久| 精品久久一区二区三区| 一区二区三区欧美亚洲| 国产精品1024久久| 91麻豆精品国产91久久久久| 国产精品白丝在线| 狠狠色丁香婷婷综合久久片| 91极品美女在线| 国产精品麻豆欧美日韩ww| 琪琪一区二区三区| 欧美三片在线视频观看 | 99热在这里有精品免费| 日韩一区二区三区四区五区六区 | 92国产精品观看| 久久久久久黄色| 日韩国产欧美在线观看| 色视频欧美一区二区三区| 国产亚洲1区2区3区| 六月婷婷色综合| 制服丝袜在线91| 亚洲国产精品久久久久婷婷884| 91香蕉视频在线| 亚洲国产成人午夜在线一区| 国产一区欧美一区| 精品国产污污免费网站入口| 亚洲成在线观看| 欧美三级韩国三级日本一级| 一区二区三区在线视频观看 | 亚洲丝袜自拍清纯另类| 国产99精品在线观看| 久久精品日产第一区二区三区高清版| 日本欧美一区二区| 91麻豆精品国产91久久久使用方法| 亚洲一区成人在线| 欧美视频在线一区| 亚洲成av人片在线| 在线播放日韩导航| 日本不卡一二三| 精品少妇一区二区三区日产乱码 |