亚洲va男人天堂_亚洲国产美女搞黄色_国产又粗又爽视频_久久成人18免费网站_99久久久国产精品无码网爆_日韩av电影手机在线_另类图片第一页_在线观看亚洲网站_欧美一级黄色大片_gogogo高清在线观看免费完整版

 
 

您當(dāng)前的位置: 首頁(yè) > 網(wǎng)絡(luò)技術(shù)  > 服務(wù)器教程 瀏覽
Linux下如何用GCC編譯動(dòng)態(tài)庫(kù)
發(fā)布時(shí)間:2015-12-13    點(diǎn)擊率:次    來(lái)源:m.memoryoverflow.cn    作者:電腦技術(shù)學(xué)習(xí)網(wǎng)

   本文主要解決以下幾個(gè)問(wèn)題

  1 為什么要使用庫(kù)?

  2 庫(kù)的分類(lèi)

  3 創(chuàng)建自己的庫(kù)

  或許大家對(duì)自己初學(xué) Linux時(shí)的情形仍記憶尤新吧。如果沒(méi)有一個(gè)能較好的解決依賴關(guān)系的包管理器,在Linux下安裝軟件將是一件及其痛苦的工作。你裝a包時(shí),可能會(huì)提示你要先裝b包,當(dāng)你費(fèi)盡心力找到b包時(shí),可能又會(huì)提示你要先安裝c包。我就曾被這樣的事搞的焦頭爛額,至今一提起rpm仍心有余悸,頭皮發(fā)麻。說(shuō)是一朝被蛇咬,十年怕井繩怕也不為過(guò)。

  Linux下之所以有這許多的依賴關(guān)系,其中一個(gè)開(kāi)發(fā)原則真是功不可沒(méi)。這個(gè)原則就是:盡量不重復(fù)做別人已經(jīng)做過(guò)的事。換句話說(shuō)就是盡量充分利用別人的勞動(dòng)成果。

  這就涉及到如何有效的進(jìn)行代碼復(fù)用。

  1 為什么要使用庫(kù)?

  關(guān)于代碼復(fù)用的途徑,一般有兩種。

  粘貼復(fù)制

  這是最沒(méi)有技術(shù)含量的一種方案。如果代碼小,則工作量還可以忍受,如果代碼很龐大,則此法不可取。即便有人原意這樣做,但誰(shuí)又能保證所有的代碼都可得到呢?

  而庫(kù)的出現(xiàn)很好的解決了這個(gè)問(wèn)題。

  庫(kù),是一種封裝機(jī)制,簡(jiǎn)單說(shuō)把所有的源代碼編譯成目標(biāo)代碼后打成的包。

  那么用戶怎么能知道這個(gè)庫(kù)提供什么樣的接口呢?難道要用nm等工具逐個(gè)掃描?

  不用擔(dān)心,庫(kù)的開(kāi)發(fā)者早以把一切都做好了。除了包含目標(biāo)代碼的庫(kù)外,www.Linuxidc.com一般還會(huì)提供一系列的頭文件,頭文件中就包含了庫(kù)的接口。為了讓方便用戶,再加上一個(gè)使用說(shuō)明就差不多完美了。

  2 庫(kù)的分類(lèi)

  2.1 庫(kù)的分類(lèi)

  根據(jù)鏈接時(shí)期的不同,庫(kù)又有靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù)之分。

  靜態(tài)庫(kù)是在鏈接階段被鏈接的(好像是廢話,但事實(shí)就是這樣),所以生成的可執(zhí)行文件就不受庫(kù)的影響了,即使庫(kù)被刪除了,程序依然可以成功運(yùn)行。

  有別于靜態(tài)庫(kù),動(dòng)態(tài)庫(kù)的鏈接是在程序執(zhí)行的時(shí)候被鏈接的。所以,即使程序編譯完,庫(kù)仍須保留在系統(tǒng)上,以供程序運(yùn)行時(shí)調(diào)用。(TODO:鏈接動(dòng)態(tài)庫(kù)時(shí)鏈接階段到底做了什么)

  2.2 靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù)的比較

  鏈接靜態(tài)庫(kù)其實(shí)從某種意義上來(lái)說(shuō)也是一種粘貼復(fù)制,只不過(guò)它操作的對(duì)象是目標(biāo)代碼而不是源碼而已。因?yàn)殪o態(tài)庫(kù)被鏈接后庫(kù)就直接嵌入可執(zhí)行文件中了,這樣就帶來(lái)了兩個(gè)問(wèn)題。

  首先就是系統(tǒng)空間被浪費(fèi)了。這是顯而易見(jiàn)的,想象一下,如果多個(gè)程序鏈接了同一個(gè)庫(kù),則每一個(gè)生成的可執(zhí)行文件就都會(huì)有一個(gè)庫(kù)的副本,必然會(huì)浪費(fèi)系統(tǒng)空間。

  再者,人非圣賢,即使是精心調(diào)試的庫(kù),也難免會(huì)有錯(cuò)。一旦發(fā)現(xiàn)了庫(kù)中有bug,挽救起來(lái)就比較麻煩了。必須一一把鏈接該庫(kù)的程序找出來(lái),然后重新編譯。

  而動(dòng)態(tài)庫(kù)的出現(xiàn)正彌補(bǔ)了靜態(tài)庫(kù)的以上弊端。因?yàn)閯?dòng)態(tài)庫(kù)是在程序運(yùn)行時(shí)被鏈接的,所以磁盤(pán)上只須保留一份副本,因此節(jié)約了磁盤(pán)空間。如果發(fā)現(xiàn)了bug或要升級(jí)也很簡(jiǎn)單,只要用新的庫(kù)把原來(lái)的替換掉就行了。

  那么,是不是靜態(tài)庫(kù)就一無(wú)是處了呢?

  答曰:非也非也。不是有句話么:存在即是合理。靜態(tài)庫(kù)既然沒(méi)有湮沒(méi)在滔滔的歷史長(zhǎng)河中,就必然有它的用武之地。想象一下這樣的情況:如果你用libpcap庫(kù)編了一個(gè)程序,要給被人運(yùn)行,而他的系統(tǒng)上沒(méi)有裝pcap庫(kù),該怎么解決呢?最簡(jiǎn)單的辦法就是編譯該程序時(shí)把所有要鏈接的庫(kù)都鏈接它們的靜態(tài)庫(kù),這樣,就可以在別人的系統(tǒng)上直接運(yùn)行該程序了。

  所謂有得必有失,正因?yàn)閯?dòng)態(tài)庫(kù)在程序運(yùn)行時(shí)被鏈接,故程序的運(yùn)行速度和鏈接靜態(tài)庫(kù)的版本相比必然會(huì)打折扣。然而瑕不掩瑜,動(dòng)態(tài)庫(kù)的不足相對(duì)于它帶來(lái)的好處在現(xiàn)今硬件下簡(jiǎn)直是微不足道的,所以鏈接程序在鏈接時(shí)一般是優(yōu)先鏈接動(dòng)態(tài)庫(kù)的,除非用-static參數(shù)指定鏈接靜態(tài)庫(kù)。

  2.3 如何判斷一個(gè)程序有沒(méi)有鏈接動(dòng)態(tài)庫(kù)?

  答案是用file實(shí)用程序。

  file程序是用來(lái)判斷文件類(lèi)型的,在file命令下,所有文件都會(huì)原形畢露的。

  順便說(shuō)一個(gè)技巧。有時(shí)在 windows下用瀏覽器下載tar.gz或tar.bz2文件,后綴名會(huì)變成奇怪的tar.tar,到Linux有些新手就不知怎么解壓了。但 Linux下的文件類(lèi)型并不受文件后綴名的影響,所以我們可以先用命令file xxx.tar.tar看一下文件類(lèi)型,然后用tar加適當(dāng)?shù)膮?shù)解壓。

  另外,還可以借助程序ldd實(shí)用程序來(lái)判斷。

  ldd是用來(lái)打印目標(biāo)程序(由命令行參數(shù)指定)所鏈接的所有動(dòng)態(tài)庫(kù)的信息的,如果目標(biāo)程序沒(méi)有鏈接動(dòng)態(tài)庫(kù),則打印“not a dynamic executable”,ldd的用法請(qǐng)參考manpage。

  3 創(chuàng)建自己的庫(kù)

  3.1 創(chuàng)建動(dòng)態(tài)庫(kù)

  創(chuàng)建文件hello.c,內(nèi)容如下:

  #include

  void hello(void)

  {

  printf("Hello Worldn");

  }

  用命令gcc -shared hello.c -o libhello.so編譯為動(dòng)態(tài)庫(kù)。可以看到,當(dāng)前目錄下多了一個(gè)文件libhello.so。

  [leo@leo test]$ file libhello.so

  libhello.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped

  看到了吧,文件類(lèi)型是shared object了。

  再編輯一個(gè)測(cè)試文件test.c,內(nèi)容如下:

  int

  main()

  {

  hello();

  return 0;

  }

  這下可以編譯了:)

  [leo@leo test]$ gcc test.c

  /tmp/ccm7w6Mn.o: In function `main:

  test.c:(.text+0x1d): undefined reference to `hello

  collect2: ld returned 1 exit status

  鏈接時(shí)gcc找不到hello函數(shù),編譯失敗:(。原因是hello在我們自己創(chuàng)建的庫(kù)中,如果gcc能找到那才教見(jiàn)鬼呢!ok,再接再厲。

  [leo@leo test]$ gcc test.c -lhello

  /usr/lib/gcc/i686-pc-Linux-gnu/4.0.0/../../../../i686-pc-Linux-gnu/bin/ld: cannot find -lhello

  collect2: ld returned 1 exit status

  [leo@leo test]$ gcc test.c -lhello -L.

  [leo@leo test]$

  第一次編譯直接編譯,gcc默認(rèn)會(huì)鏈接標(biāo)準(zhǔn)c庫(kù),但符號(hào)名hello解析不出來(lái),故連接階段通不過(guò)了。

  現(xiàn)在用gcc test.c -lhello -L.已經(jīng)編譯成功了,默認(rèn)輸出為a.out。現(xiàn)在來(lái)試著運(yùn)行一下:

  [leo@leo test]$ ./a.out

  ./a.out: error while loading shared libraries: libhello.so: cannot open shared object file: No such file or directory

  咦,怎么回事?原來(lái)雖然鏈接時(shí)鏈接器(dynamic linker)找到了動(dòng)態(tài)庫(kù)libhello.so,但動(dòng)態(tài)加載器(dynamic loader, 一般是/lib/ld-Linux.so.2)卻沒(méi)找到。再來(lái)看看ldd的輸出:

  [leo@leo test]$ ldd a.out

  Linux-gate.so.1 => (0xffffe000)

  libhello.so => not found

  libc.so.6 => /lib/libc.so.6 (0x40034000)

  /lib/ld-Linux.so.2 (0x40000000)

  果然如此,看到?jīng)]有,libhello.so => not found。

  Linux為我們提供了兩種解決方法:

  1.可以把當(dāng)前路徑加入 /etc/ld.so.conf中然后運(yùn)行l(wèi)dconfig,或者以當(dāng)前路徑為參數(shù)運(yùn)行l(wèi)dconfig(要有root權(quán)限才行)。

  2.把當(dāng)前路徑加入環(huán)境變量LD_LIBRARY_PATH中

  當(dāng)然,如果你覺(jué)得不會(huì)引起混亂的話,可以直接把該庫(kù)拷入/lib,/usr/lib/等位置(無(wú)可避免,這樣做也要有權(quán)限),這樣鏈接器和加載器就都可以準(zhǔn)確的找到該庫(kù)了。

  我們采用第二種方法:

  [leo@leo test]$ export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH

  [leo@leo test]$ ldd a.out

  Linux-gate.so.1 => (0xffffe000)

  libhello.so => ./libhello.so (0x4001f000)

  libc.so.6 => /lib/libc.so.6 (0x40036000)

  /lib/ld-Linux.so.2 (0x40000000)

  哈哈,這下ld-Linux.so.2就可以找到libhello.so這個(gè)庫(kù)了。

  現(xiàn)在可以直接運(yùn)行了:

  [leo@leo test]$ ./a.out

  Hello World

  3.2 創(chuàng)建靜態(tài)庫(kù)

  仍使用剛才的hello.c和test.c。

  第一步,生成目標(biāo)文件。

  [leo@leo test]$ gcc -c hello.c

  [leo@leo test]$ ls hello.o -l

  -rw-r--r-- 1 leo users 840 5月 6 12:48 hello.o

  第二步,把目標(biāo)文件歸檔。

  [leo@leo test]$ ar r libhello.a hello.o

  ar: creating libhello.a

  OK,libhello.a就是我們所創(chuàng)建的靜態(tài)庫(kù)了,簡(jiǎn)單吧:)

  [leo@leo test]$ file libhello.a

  libhello.a: current ar archive

  下面一行命令就是教你如何在程序中鏈接靜態(tài)庫(kù)的:

  [leo@leo test]$ gcc test.c -lhello -L. -static -o hello.static

  我們來(lái)用file命令比較一下用動(dòng)態(tài)庫(kù)和靜態(tài)庫(kù)鏈接的程序的區(qū)別:

  [leo@leo test]$ gcc test.c -lhello -L. -o hello.dynamic

  正如前面所說(shuō),鏈接器默認(rèn)會(huì)鏈接動(dòng)態(tài)庫(kù)(這里是libhello.so),所以只要把上個(gè)命令中的 -static參數(shù)去掉就可以了。

  用file實(shí)用程序驗(yàn)證一下是否按我們的要求生成了可執(zhí)行文件:

  [leo@leo test]$ file hello.static hello.dynamic

  hello.static: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.6, statically linked, not stripped

  hello.dynamic: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.6, dynamically linked (uses shared libs), not stripped

  不妨順便練習(xí)一下ldd的用法:

  [leo@leo test]$ ldd hello.static hello.dynamic

  hello.static:

  not a dynamic executable

  hello.dynamic:

  Linux-gate.so.1 => (0xffffe000)

  libhello.so => ./libhello.so (0x4001f000)

  libc.so.6 => /lib/libc.so.6 (0x40034000)

  /lib/ld-Linux.so.2 (0x40000000)

  OK,看來(lái)沒(méi)有問(wèn)題,那就比較一下大小先:

  [leo@leo test]$ ls -l hello.[ds]*

  -rwxr-xr-x 1 leo users 5911 5月 6 12:54 hello.dynamic

  -rwxr-xr-x 1 leo users 628182 5月 6 12:54 hello.static

  看到區(qū)別了吧,鏈接靜態(tài)庫(kù)的目標(biāo)程序和鏈接動(dòng)態(tài)庫(kù)的程序比起來(lái)簡(jiǎn)直就是一個(gè)龐然大物!

  這么小的程序,很難看出執(zhí)行時(shí)間的差別,不過(guò)為了完整起見(jiàn),還是看一下time的輸出吧:

  [leo@leo test]$ time ./hello.static

  Hello World

  real 0m0.001s

  user 0m0.000s

  sys 0m0.001s

  [leo@leo test]$ time ./hello.dynamic

  Hello World

  real 0m0.001s

  user 0m0.000s

  sys 0m0.001s

  如果程序比較大的話,應(yīng)該效果會(huì)很明顯的。

來(lái)源 電腦技術(shù)網(wǎng) m.memoryoverflow.cn
發(fā)表留言
發(fā)表留言請(qǐng)先登錄!
免責(zé)聲明:本站發(fā)布的信息和評(píng)論純屬網(wǎng)民個(gè)人行為,并不代表本站立場(chǎng),如發(fā)現(xiàn)有違法信息或侵權(quán)行為,請(qǐng)直接與本站管理員聯(lián)系,我們將在收到您的信息后24小時(shí)內(nèi)作出處理!
中文字幕在线视频久| 欧美性受xxxx黑人猛交| 最新中文字幕亚洲| 91精品国产91久久久久| 国产精品久久久久久久天堂第1集| 日韩三级电影网站| 中文字幕国产传媒| 国产xxxxxxxxx| av中文在线播放| 亚洲色图偷拍| 黄色成人免费观看| caopeng在线| 97青娱国产盛宴精品视频| 国产精品久久| aaa国产一区| 狠狠综合久久av一区二区小说 | 在线播放第一页| 精品97人妻无码中文永久在线| 国产成年妇视频| 黄色网址大全在线观看| www.国产精品.com| 欧美激情精品| 在线一区免费观看| 中文字幕免费在线观看视频一区| 欧美日韩国产区一| 欧美精品精品精品精品免费| 欧美日韩精品不卡| 波多野结衣国产精品| 精品无码人妻一区二区三区| 亚洲日本久久久午夜精品| 黑料吃瓜在线观看| 韩国女主播一区二区| 欧美国产精品| 中文av一区特黄| 亚洲国产日韩欧美在线99| 国产大片精品免费永久看nba| 一区二区三区在线观看www| 成人在线视频免费播放| 一区二区三区在线免费观看视频| 娇小的粉嫩xxx极品| 青青在线视频| 在线国产一区二区| 国产精品久久久久久久午夜片| 精品av综合导航| 亚洲影院污污.| 性生活免费在线观看| 国产 日韩 欧美 在线| 九九夜夜操妹子| 91色在线看| 欧美视频一区| 亚洲美女免费在线| xxx欧美精品| 亚洲美女搞黄| 免费观看a级片| av资源中文色综合| 国产黄在线看| 青青草97国产精品麻豆| 国产亚洲一区二区在线观看| 日韩电影第一页| 精品国产福利| 97人妻天天摸天天爽天天| 国精产品一品二品国精品69xx| 亚洲成人影院少妇| 亚州综合一区| 久久精品人人做人人爽97| 亚洲人成欧美中文字幕| 欧洲国产精品| 国产精品久久久久久成人| 欧美性猛交xxxx乱大交丰满| gogo在线高清视频| 国内精品久久久久久久97牛牛| 亚洲精品第一国产综合野| 欧美丰满少妇xxxxx做受| 激情五月六月婷婷| 精品少妇一二三区| 日本加勒比高清在线| 久久91视频| 国产精一区二区三区| 精品国产乱码久久久久久免费| 国产chinese精品一区二区| 亚洲AV成人精品| 无码精品视频一区二区三区| 香蕉视频国产在线观看| 欧美精品三区| 精品美女国产在线| 国产精品美女网站| 日本黄色大片在线观看| 影音先锋中文字幕第一页| 久草在线视频网站| 秋霞成人午夜伦在线观看| 欧美一级免费观看| 日本黑人久久| 日韩手机在线观看| 91热爆在线观看| 亚洲精品中文字幕99999| 国产精品欧美一区喷水| 午夜精品www| 中文av一区二区三区| 亚洲第一精品网站| 国产在线观看av| 西西裸体人体做爰大胆久久久| 欧美日韩亚州综合| 狠狠色噜噜狠狠狠狠色吗综合| 法国伦理少妇愉情| 免费毛片大全| 国产欧美一区二区三区米奇| 国产欧美一区二区精品秋霞影院| 欧美大片欧美激情性色a∨久久| 北条麻妃av高潮尖叫在线观看| 精品国产av鲁一鲁一区| 国产美女在线观看| 美女视频一区二区| 国产一区二区三区丝袜| 国产96在线 | 亚洲| 国产精品怡红院| 精品自拍一区| 久久精品国内一区二区三区| 日韩国产欧美区| 你真棒插曲来救救我在线观看| 国产精品一区二区人人爽| 99福利在线| 精品一区二区在线播放| 亚洲人成电影网站色…| 可以免费观看av毛片| 少妇无码一区二区三区| 成人免费看黄| 国产欧美一区二区精品秋霞影院 | 国产日产欧美视频| 日韩中文字幕免费观看| 亚洲女同av| av电影在线观看一区| 色综合男人天堂| 国产v综合ⅴ日韩v欧美大片| 日韩成人av免费| 国产极品一区二区三区| 2023国产精华国产精品| 亚洲私人黄色宅男| 成人天堂噜噜噜| 成人免费黄色小视频| 日本h片在线看| 一本色道久久综合亚洲精品不| 精品蜜桃在线看| 草草久久久无码国产专区| 精品无码人妻一区二区三区品 | av在线电影免费观看| 全国精品久久少妇| 久久精品国产69国产精品亚洲| 欧美成人三级在线播放| 日皮视频免费观看| 日韩精品dvd| 日韩一区二区免费在线观看| 国产精品av免费观看| 人人妻人人澡人人爽久久av| 欧美爱爱视频| 夜夜操天天操亚洲| 久久青青草原| 91精品中文字幕| 成人做爰视频www网站小优视频| 中文字幕高清一区| 岛国一区二区三区高清视频| 日本在线视频免费| 一色桃子av在线| 久久欧美中文字幕| 91超碰rencao97精品| 日本三级视频在线| 国内老司机av在线| 国产精品丝袜91| 好吊色欧美一区二区三区四区| 日本一本在线观看| 日韩视频网站在线观看| 亚洲国产综合91精品麻豆| 日韩高清专区| 色网站免费观看| 澳门精品久久国产| 欧美日韩在线观看一区二区| 欧美国产日韩激情| 91社区视频| 在线看片不卡| 中文字幕精品久久久久| 熟女人妻在线视频| 白浆爆出在线观看| 欧美亚洲一区二区三区| 久久免费视频在线观看| 日韩国产第一页| av片哪里在线观看| 中文字幕av一区二区三区高| 国产精品一区二区三区免费| 精品国产亚洲av麻豆| 香蕉免费一区二区三区在线观看| 欧美日韩一区高清| 男女污污的视频| 天天操天天碰| 蜜桃精品视频在线观看| 国产精品 欧美在线| 91午夜精品亚洲一区二区三区| 天天综合网站| 在线中文字幕一区二区| 成年人视频在线免费| 1024亚洲| 岛国av在线一区| 国产91视觉| 国精产品乱码一区一区三区四区| 宅男在线一区| 亚洲男人的天堂在线播放| www.色多多| 午夜激情视频在线| 亚洲视频免费在线| 美女av免费观看| 青青草视频导航| 久久婷婷亚洲| 国产乱人伦真实精品视频| a片在线免费观看| 激情视频极品美女日韩| 亚洲精品永久免费精品| 亚洲图片另类小说| 韩日毛片在线观看| 欧美色涩在线第一页| 搡的我好爽在线观看免费视频| 永久免费在线| 国产精品视频线看| 国产免费黄色一级片| 国产精品三级a三级三级午夜| 成人午夜电影久久影院| 免费试看一区| 在线观看制服搞黄视频| 美国欧美日韩国产在线播放| 国产高清自拍99| 欧美色图另类图片| 9999在线视频| 狠狠躁18三区二区一区| 国产aⅴ爽av久久久久| 国产三级视频在线| 一二三四区精品视频| 无码人妻丰满熟妇区毛片| 中文字幕电影在线| 国产精品久久久久久福利一牛影视| 中文字幕在线中文字幕日亚韩一区| 日本免费看片网站| 国产高清久久久久| 午夜久久资源| 成人免费淫片免费观看| 99免费精品在线| 国产片侵犯亲女视频播放| 米奇777在线影院线| 国产肉丝袜一区二区| av免费观看国产| 一级片在线免费看| 亚洲美女淫视频| 超碰在线人人爱| 日韩在线资源| 欧美亚洲一区三区| 素人fc2av清纯18岁| 日本在线高清| 精品久久久久av影院| 黄视频网站免费看| 久久伊人久久| 久久中文字幕一区| 91 中文字幕| 午夜精品久久| 不卡视频一区二区三区| 国产在线播放你懂的| 国内精品在线播放| 神马午夜伦理影院| 午夜在线观看视频网站| 亚洲va天堂va国产va久| 成人做爰69片免费| jizz内谢中国亚洲jizz| 国产偷国产偷亚洲清高网站| 中文字幕第四页| 亚洲精彩视频| 国产精品一区二区三区四区五区 | 免费一级网站| 一区二区三区**美女毛片| 九九九九九国产| 国精一区二区三区| 国产婷婷色综合av蜜臀av| 在线观看 亚洲| 一本一本久久a久久综合精品| 成人激情春色网| 一个人看的视频www在线观看免费| av网站免费线看精品| 激情六月丁香婷婷| 深夜国产在线播放| 亚洲第一区第二区| 亚洲日本视频在线观看| 亚洲一区在线| 国产一区免费在线| 性直播在线观看| 亚洲国产综合在线| 亚洲а∨天堂久久精品2021| 北条麻妃在线一区二区免费播放 | 亚洲精品一线二线三线| 国产成人无码一区二区三区在线| 欧美限制电影| 99国产视频| 猫咪成人官网| 亚洲成av人影院| 亚洲码无人客一区二区三区| 精品国产影院| 国产精品爽爽爽| 无人日本免费视频| 亚洲日本在线a| 波多野结衣综合网| 亚洲色图欧美视频| 激情综合色综合久久综合| 亚洲色欲久久久综合网东京热| 在线国产91| 亚洲国产小视频在线观看| 亚洲综合五月天婷婷丁香| 日韩高清一区二区| 秋霞无码一区二区| 国产极品人妖在线观看| 亚洲午夜未满十八勿入免费观看全集 | 日日摸夜夜爽人人添| 亚洲综合久久久| 国产高清一区二区三区四区| 国产探花在线精品| 国产自产精品| 四虎电影院在线观看| 欧美成人一级视频| a视频免费在线观看| 成人在线一区二区三区| 手机av在线免费| 国产剧情一区二区在线观看| 国产精品久久久久99| 中文字幕2019第三页| 欧洲日韩一区二区三区| 国产熟妇一区二区三区四区| 欧美aaaaa成人免费观看视频| 欧美一区二区三区爽大粗免费| 看黄在线观看| 久久青草福利网站| 4444kk在线观看| 欧美色视频一区| 一二三四区在线| 国产成人亚洲综合色影视| 乳色吐息在线观看| 自拍自偷一区二区三区| 久久精品国产一区二区三区日韩| 国产三级视频在线| 日韩专区在线观看| 国产小视频在线高清播放| 婷婷开心激情综合| 中文字幕视频网站| 国产一区二区伦理片| 四川一级毛毛片| 国产一区二区三区91| 亚洲一区二区三区精品视频 | 欧美丝袜丝交足nylons| 人妻中文字幕一区二区三区| 粉嫩aⅴ一区二区三区四区| 亚洲麻豆一区二区三区| 成人女性视频| 91精品国产吴梦梦| 99只有精品| 国产精品日韩一区二区| av网站在线播放| 欧美乱大交做爰xxxⅹ性3| h视频免费观看| 日韩精品专区在线影院重磅| 顶级嫩模一区二区三区| 午夜视频久久久久久| 欧美高清69hd| 久久精品在线免费观看| 青青青在线免费观看| 久久精品久久99精品久久| 妖精视频一区二区| 欧美freesex交免费视频| 欧美 日本 亚洲| 精品欠久久久中文字幕加勒比| 日本一区免费看| 日韩欧美看国产| 懂色一区二区三区av片| 在线三级中文| 国产精品免费观看在线| 成年人视频在线免费观看| 97国产在线视频| 在线免费观看你懂的| 日韩在线欧美在线国产在线| 88av看到爽| 亚洲欧美日韩在线一区| 黄色网址大全在线观看| 精品久久一区二区三区| www.91在线播放| 日韩欧美一区在线| 国产视频2区| 欧美一区二区女人| 久久99国产视频| 欧美一区二区三区男人的天堂| 日韩欧美在线视频一区二区| 欧美日韩综合在线| 亚洲成年人电影| 在线视频一区二区三区| 亚洲天堂电影在线观看| 在线观看免费视频综合| 永久免费av网站| 欧美日韩国产乱码电影| 综合久久一本| 欧美浪妇xxxx高跟鞋交| 欧美妇性猛交视频|