韩剧1988免费观看全集_久久影视三级福利片_亚洲视频在线观看免费_在线观看欧美日韩_国产亚洲激情在线_亚洲精品美女久久久_欧美国产日韩一区二区在线观看_91在线观看免费高清完整版在线观看_日韩av免费看_国产又爽又黄的激情精品视频_琪琪亚洲精品午夜在线_欧美性猛xxx_不卡毛片在线看_国产亚洲日本欧美韩国_91国内在线视频_精品国产福利视频

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

編寫高質(zhì)量的VB代碼

編寫高質(zhì)量的VB代碼

更新時間:2020-02-21 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):


簡介:

本文描述了如何通過一些技術(shù)手段來提高VB代碼的執(zhí)行效率。這些手段可以分為兩個大的部分:編碼技術(shù)和編譯優(yōu)化技術(shù)。在編碼技術(shù)中介紹了如何通過使用高效的數(shù)據(jù)類型、減少外部引用等編程手段來提高代碼執(zhí)行速度,減少代碼消耗的系統(tǒng)資源。在編譯優(yōu)化技術(shù)中介紹了如何正確地利用VB提供的編譯選項對在編譯時最后生成的可執(zhí)行文件進(jìn)行優(yōu)化。

前言

什么是一個高效的軟件?一個高效的軟件不僅應(yīng)該比實現(xiàn)同樣功能的軟件運行得更快,還應(yīng)該消耗更少的系統(tǒng)資源。這篇文章匯集了作者在使用VB進(jìn)行軟件開發(fā)時積累下來的一些經(jīng)驗,通過一些簡單的例子來向你展示如何寫出高效的VB代碼。其中包含了一些可能對VB程序員非常有幫助的技術(shù)。在開始之前,先讓我陳清幾個概念。

讓代碼一次成型:在我接觸到的程序員中,有很多人喜歡先根據(jù)功能需求把代碼寫出來,然后在此基礎(chǔ)上優(yōu)化代碼。最后發(fā)現(xiàn)為了達(dá)到優(yōu)化的目的,他們不得不把代碼再重新寫一遍。所以我建議你在編寫代碼之前就需要考慮優(yōu)化問題。

把握好優(yōu)化的結(jié)果和需要花費的工作之間的關(guān)系:通常當(dāng)完成了一段代碼,你需要檢查和修改它。在檢查代碼的過程中,也許你會發(fā)現(xiàn)某些循環(huán)中的代碼效率還可以得到進(jìn)一步的改進(jìn)。在這種情況下,很多追求完美的程序員也許會立馬修改代碼。我的建議是,如果修改這段代碼會使程序的運行時間縮短一秒,你可以修改它。如果只能帶來10毫秒的性能改進(jìn),則不做任何改動。這是因為重寫一段代碼必定會引入新的錯誤,而調(diào)試新的代碼必定會花掉你一定的時間。程序員應(yīng)該在軟件性能和開發(fā)軟件需要的工作量之間找一個平衡點,而且10毫秒對于用戶來說也是一個不能體會到的差異。

在需要使用面向?qū)ο蠓椒ǖ臅r候盡量使用它;VB提供的機(jī)制不完全支持面向?qū)ο蟮脑O(shè)計和編碼,但是VB提供了簡單的類。大多數(shù)人認(rèn)為使用對象將導(dǎo)致代碼的效率降低。對于這一點我個人有些不同的意見;考察代碼的效率不能純粹從運行速度的角度出發(fā),軟件占用的資源也是需要考慮的因素之一。使用類可以幫助你在整體上提升軟件的性能,這一點我會在后面的例子中詳細(xì)說明。

當(dāng)你編寫VB代碼的時候,希望你能把上面幾點作為指導(dǎo)你編碼的原則。我把文章分為兩個部分:如何提高代碼的運行速度和編譯優(yōu)化。

如何提高代碼的運行速度

下面的這些方法可以幫助你提高代碼的運行速度:

1. 使用整數(shù)(Integer)和長整數(shù)(Long)

提高代碼運行速度最簡單的方法莫過于使用正確的數(shù)據(jù)類型了。也許你不相信,但是正確地選擇數(shù)據(jù)類型可以大幅度提升代碼的性能。在大多數(shù)情況下,程序員可以將Single,Double和Currency類型的變量替換為Integer或Long類型的變量,因為VB處理Integer和Long的能力遠(yuǎn)遠(yuǎn)高于處理其它幾種數(shù)據(jù)類型。

在大多數(shù)情況下,程序員選擇使用Single或Double的原因是因為它們能夠保存小數(shù)。但是小數(shù)也可以保存在Integer類型的變量中。例如程序中約定有三位小數(shù),那么只需要將保存在Integer變量中的數(shù)值除以1000就可以得到結(jié)果。根據(jù)我的經(jīng)驗,使用Integer和Long替代Single,Double和Currency后,代碼的運行速度可以提高將近10倍。

2. 避免使用變體

對于一個VB程序員來說,這是再明顯不過的事情了。變體類型的變量需要16個字節(jié)的空間來保存數(shù)據(jù),而一個整數(shù)(Integer)只需要2個字節(jié)。通常使用變體類型的目的是為了減少設(shè)計的工作量和代碼量,也有的程序員圖個省事而使用它。但是如果一個軟件經(jīng)過了嚴(yán)格設(shè)計和按照規(guī)范編碼的話,完全可以避免使用變體類型。

在這里順帶提一句,對于Object對象也存在同樣的問題。請看下面的代碼:

Dim FSO 
Set FSO = New Scripting.FileSystemObject 



Dim FSO as object
Set FSO = New Scripting.FileSystemObject 

上面的代碼由于在申明的時候沒有指定數(shù)據(jù)類型,在賦值時將浪費內(nèi)存和CPU時間。正確的代碼應(yīng)該象下面這樣:

Dim FSO as New FileSystemObject 
3. 盡量避免使用屬性

在平時的代碼中,最常見的比較低效的代碼就是在可以使用變量的情況下,反復(fù)使用屬性(Property),尤其是在循環(huán)中。要知道存取變量的速度是存取屬性的速度的20倍左右。下面這段代碼是很多程序員在程序中會使用到的:

Dim intCon as Integer
For intCon = 0 to Ubound(SomVar())
Text1.Text = Text1.Text & vbcrlf & SomeVar(intCon)
Next intCon 

下面這段代碼的執(zhí)行速度是上面代碼的20倍。 

Dim intCon as Integer
Dim sOutput as String
For intCon = 0 to Ubound(SomeVar())
sOutput = sOutput & vbCrlf &
SomeVar(intCon)
Next
Text1.Text = sOutput 

4. 盡量使用數(shù)組,避免使用集合

除非你必須使用集合(Collection),否則你應(yīng)該盡量使用數(shù)組。據(jù)測試,數(shù)組的存取速度可以達(dá)到集合的100倍。這個數(shù)字聽起來有點駭人聽聞,但是如果你考慮到集合是一個對象,你就會明白為什么差異會這么大。

5. 展開小的循環(huán)體

在編碼的時候,有可能遇到這種情況:一個循環(huán)體只會循環(huán)2到3次,而且循環(huán)體由幾行代碼組成。在這種情況下,你可以把循環(huán)展開。原因是循環(huán)會占用額外的CPU時間。但是如果循環(huán)比較復(fù)雜,你就沒有必要這樣做了。

6. 避免使用很短的函數(shù)

和使用小的循環(huán)體相同,調(diào)用只有幾行代碼的函數(shù)也是不經(jīng)濟(jì)的--調(diào)用函數(shù)所花費的時間或許比執(zhí)行函數(shù)中的代碼需要更長的時間。在這種情況下,你可以把函數(shù)中的代碼拷貝到原來調(diào)用函數(shù)的地方。

7. 減少對子對象的引用

在VB中,通過使用.來實現(xiàn)對象的引用。例如:

Form1.Text1.Text 

在上面的例子中,程序引用了兩個對象:Form1和Text1。利用這種方法引用效率很低。但遺憾的是,沒有辦法可以避免它。程序員唯一可以做就是使用With或者將用另一個對象保存子對象(Text1)。

' 使用With
With frmMain.Text1
.Text = "Learn VB"
.Alignment = 0
.Tag = "Its my life"
.BackColor = vbBlack
.ForeColor = vbWhite
End With 

或者 

' 使用另一個對象保存子對象
Dim txtTextBox as TextBox
Set txtTextBox = frmMain.Text1
TxtTextBox.Text = "Learn VB"
TxtTextBox.Alignment = 0
TxtTextBox.Tag = "Its my life"
TxtTextBox.BackColor = vbBlack
TxtTextBox.ForeColor = vbWhite 

注意,上面提到的方法只適用于需要對一個對象的子對象進(jìn)行操作的時候,下面這段代碼是不正確的:

With Text1
.Text = "Learn VB"
.Alignment = 0
.Tag = "Its my life"
.BackColor = vbBlack
.ForeColor = vbWhite
End With 

很不幸的是,我們常?梢栽趯嶋H的代碼中發(fā)現(xiàn)類似于上面的代碼。這樣做只會使代碼的執(zhí)行速度更慢。原因是With塊編譯后會形成一個分枝,會增加了額外的處理工作。

8. 檢查字符串是否為空

大多數(shù)程序員在檢查字符串是否為空時會使用下面的方法:

If Text1.Text = "" then
' 執(zhí)行操作
End if 

很不幸,進(jìn)行字符串比較需要的處理量甚至比讀取屬性還要大。因此我建議大家使用下面的方法:

If Len(Text1.Text) = 0 then
' 執(zhí)行操作
End if 

9. 去除Next關(guān)鍵字后的變量名

在Next關(guān)鍵字后加上變量名會導(dǎo)致代碼的效率下降。我也不知道為什么會這樣,只是一個經(jīng)驗而已。不過我想很少有程序員會這樣畫蛇添足,畢竟大多數(shù)程序員都是惜字如金的人。

' 錯誤的代碼
For iCount = 1 to 10
' 執(zhí)行操作
Next iCount
' 正確的代碼
For iCount = 1 to 10
' 執(zhí)行操作
Next 

10. 使用數(shù)組,而不是多個變量

當(dāng)你有多個保存類似數(shù)據(jù)的變量時,可以考慮將他們用一個數(shù)組代替。在VB中,數(shù)組是最高效的數(shù)據(jù)結(jié)構(gòu)之一。

11. 使用動態(tài)數(shù)組,而不是靜態(tài)數(shù)組

使用動態(tài)數(shù)組對代碼的執(zhí)行速度不會產(chǎn)生太大的影響,但是在某些情況下可以節(jié)約大量的資源。

12. 銷毀對象

無論編寫的是什么軟件,程序員都需要考慮在用戶決定終止軟件運行后釋放軟件占用的內(nèi)存空間。但遺憾的是很多程序員對這一點好像并不是很在意。正確的做法是在退出程序前需要銷毀程序中使用的對象。例如:

Dim FSO as New FileSystemObject
' 執(zhí)行操作
' 銷毀對象
Set FSO = Nothing
對于窗體,可以進(jìn)行卸載:
Unload frmMain 



Set frmMain = Nothing 

13. 變長和定長字符串

從技術(shù)上來說,與變長字符串相比,定長字符串需要較少的處理時間和空間。但是定長字符串的缺點在于在很多情況下,你都需要調(diào)用Trim函數(shù)以去除字符串末的空字符,這樣反而會降低代碼效率。所以除非是字符串的長度不會變化,否則還是使用變長字符串。

14. 使用類模塊,而不是ActiveX控件

除非ActiveX控件涉及到用戶界面,否則盡量使用輕量的對象,例如類。這兩者之間的效率有很大差異。

15. 使用內(nèi)部對象

在涉及到使用ActiveX控件和DLL的時候,很多程序員喜歡將它們編譯好,然后再加入工程中。我建議你最好不要這樣做,因為從VB連接到一個外部對象需要耗費大量的CPU處理能力。每當(dāng)你調(diào)用方法或存取屬性的時候,都會浪費大量的系統(tǒng)資源。如果你有ActiveX控件或DLL的源代碼,將它們作為工程的私有對象。

16. 減少模塊的數(shù)量

有些人喜歡將通用的函數(shù)保存在模塊中,對于這一點我表示贊同。但是在一個模塊中只寫上二三十行代碼就有些可笑了。如果你不是非常需要模塊,盡量不要使用它。這樣做的原因是因為只有在模塊中的函數(shù)或變量被調(diào)用時,VB才將模塊加載到內(nèi)存中;當(dāng)VB應(yīng)用程序退出時,才會從內(nèi)存中卸載這些模塊。如果代碼中只有一個模塊,VB就只會進(jìn)行一次加載操作,這樣代碼的效率就得到了提高;反之如果代碼中有多個模塊,VB會進(jìn)行多次加載操作,代碼的效率會降低。

17. 使用對象數(shù)組

當(dāng)設(shè)計用戶界面時,對于同樣類型的控件,程序員應(yīng)該盡量使用對象數(shù)組。你可以做一個實驗:在窗口上添加100個PictureBox,每個PictureBox都有不同的名稱,運行程序。然后創(chuàng)建一個新的工程,同樣在窗口上添加100個PictureBox,不過這一次使用對象數(shù)組,運行程序,你可以注意到兩個程序加載時間上的差別。

18. 使用Move方法

在改變對象的位置時,有些程序員喜歡使用Width,Height,Top和Left屬性。例如:

Image1.Width = 100
Image1.Height = 100
Image1.Top = 0
Image1.Left = 0 

實際上這樣做效率很低,因為程序修改了四個屬性,而且每次修改之后,窗口都會被重繪。正確的做法是使用Move方法:

Image1.Move 0,0,100,100 

19. 減少圖片的使用

圖片將占用大量內(nèi)存,而且處理圖片也需要占用很多CPU資源。在軟件中,如果可能的話,可以考慮用背景色來替代圖片--當(dāng)然這只是從技術(shù)人員的角度出發(fā)看這個問題。

20. 使用ActiveX DLL,而不是ActiveX控件

如果你設(shè)計的ActiveX對象不涉及到用戶界面,使用ActiveX DLL。
編譯優(yōu)化

我所見過的很多VB程序員從來沒有使用過編譯選項,也沒有試圖搞清楚各個選項之間的差別。下面讓我們來看一下各個選項的具體含義。

1. P-代碼(偽代碼)和本機(jī)代碼

你可以選擇將軟件編譯為P-代碼或是本機(jī)代碼。缺省選項是本機(jī)代碼。那什么是P-代碼和本機(jī)代碼呢?
P-代碼:當(dāng)在VB中執(zhí)行代碼時,VB首先是將代碼編譯為P-代碼,然后再解釋執(zhí)行編譯好的P-代碼。在編譯環(huán)境下,使用這種代碼要比本機(jī)代碼快。選擇P-代碼后,編譯時VB將偽代碼放入一個EXE文件中。

本機(jī)代碼:本機(jī)代碼是VB6以后才推出的選項。當(dāng)編譯為EXE文件后,本機(jī)代碼的執(zhí)行速度比P-代碼快。選擇本機(jī)代碼后,編譯時VB使用機(jī)器指令生成EXE文件。

在使用本機(jī)代碼進(jìn)行編譯時,我發(fā)現(xiàn)有時候會引入一些莫名其妙的錯誤。在編譯環(huán)境中我的代碼完全正確地被執(zhí)行了,但是用本機(jī)代碼選項生成的EXE文件卻不能正確執(zhí)行。通常這種情況是在卸載窗口或彈出打印窗口時發(fā)生的。我通過在代碼中加入DoEvent語句解決了這個問題。當(dāng)然出現(xiàn)這種情況的幾率非常少,也許有些VB程序員從來沒有遇到過,但是它的確存在。

在本機(jī)代碼中還有幾個選項:

a) 代碼速度優(yōu)化:該選項可以編譯出速度較快的執(zhí)行文件,但執(zhí)行文件比較大。推薦使用

b) 代碼大小優(yōu)化:該選項可以編譯出比較小的執(zhí)行文件,但是以犧牲速度為代價的,不推薦使用。

c) 無優(yōu)化:該選項只是將P-代碼轉(zhuǎn)化為本機(jī)代碼,沒有做任何優(yōu)化。在調(diào)試代碼時可以使用。

d) 針對Pentium Pro優(yōu)化:雖然該項不是本機(jī)代碼中的缺省選項,但是我通常會使用該選項。該選項編譯出的可執(zhí)行程序在Pentium Pro和Pentium 2以上的機(jī)器上可以運行得更快,而在比較老的機(jī)器上要稍稍慢一些。考慮到現(xiàn)在用Pentium 2都是落伍,所以推薦大家使用該選項。

e) 產(chǎn)生符號化調(diào)試信息:該項在編譯過程中生成一些調(diào)試信息,使用戶可以利用Visual C++一類的工具來調(diào)試編譯好的代碼。使用該選項會生成一個.pdf文件,該文件記錄了可執(zhí)行文件中的標(biāo)志信息。當(dāng)程序擁有API函數(shù)或DLL調(diào)用時,該選項還是比較有幫助的。

2. 高級優(yōu)化

高級優(yōu)化中的設(shè)置可以幫助你提高軟件的速度,但是有時候也會引入一些錯誤,因此我建議大家盡量小心地使用它們。如果在代碼中有比較大的循環(huán)體或者復(fù)雜的數(shù)學(xué)運算時,選中高級優(yōu)化中的某些項會大幅度提升代碼的性能。如果你使用了高級優(yōu)化功能,我建議你嚴(yán)格測試編譯好的文件。

a) 假定無別名:可以提高循環(huán)體中代碼的執(zhí)行效率,但是在如果通過變量的引用改變變量值的情況下,例如調(diào)用一個方法,變量的引用作為方法的參數(shù),在方法中改變了變量的值的話,就會引發(fā)錯誤。有可能只是返回的結(jié)果錯誤,也有可能是導(dǎo)致程序中斷運行的嚴(yán)重錯誤。

b) 取消數(shù)組綁定檢查、取消整數(shù)溢出檢查和取消浮點錯誤檢查:在程序運行時,如果通過這些檢查發(fā)現(xiàn)了錯誤,錯誤處理代碼會處理這些錯誤。但是如果取消了這些檢查,發(fā)生了錯誤程序就無法處理。只有當(dāng)你確定你的代碼中不會出現(xiàn)上面的這些錯誤時,你才可以使用這些選項。它們將使軟件的性能得到很大的提升。

c) 允許不舍入的浮點操作:選擇該選項可以是編譯出來的程序更快地處理浮點操作。它唯一的缺點就是在比較兩個浮點數(shù)時可能會導(dǎo)致不正確的結(jié)果。

d) 取消Pentium FDIV安全檢查:該選項是針對一些老的Pentium芯片設(shè)置的,現(xiàn)在看來已經(jīng)過時了。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
怡红院av在线| 国产女人18毛片| 免费高清在线视频一区·| 国产亚洲一区二区三区不卡| 精品视频中文字幕| 日韩综合在线视频| 青青草精品毛片| 黄色网址免费在线观看| 开心婷婷激情五月| 制服影音先锋| 国产乱码精品一区二区三区日韩精品| 韩国欧美一区二区| www.在线视频.com| 欧美风情在线视频| 欧美影视一区二区| 久久字幕精品一区| 极品校花啪啪激情久久| 精品国产av鲁一鲁一区| 羞羞网站在线免费观看| 黄色免费直接看| 国产嫩草一区二区三区在线观看| 日韩欧美aⅴ综合网站发布| 人人香蕉久久| 中文在线字幕观看| 日韩乱码人妻无码中文字幕久久| 国产第一页第二页| 日本黄色免费在线| 欧美变态tickling挠脚心| huan性巨大欧美| 手机视频在线观看| 亚洲综合在线免费观看| 黄色av观看| 一个人www视频在线免费观看| 老司机在线免费视频| 国产91免费看| 日本69式三人交| 影音先锋国产| 欧洲天堂在线观看| 国产高清一区在线观看| 手机在线免费观看毛片| 国产精品久久福利| 一本一道波多野毛片中文在线| 国产88在线观看入口| 无颜之月在线看| 亚乱亚乱亚洲乱妇| 四虎国产成人精品免费一女五男| 99精品女人在线观看免费视频| 欧美日韩另类一区| 少妇精品导航| 欧美一区二区三区不卡视频| 亚洲精品一区| 成人av毛片| 午夜影院免费体验区| aa视频在线播放| 91涩漫在线观看| 国产精品186在线观看在线播放| 俄罗斯嫩小性bbwbbw| 天天综合网站| av电影资源| 国产精品成人99一区无码| 九色porny自拍视频在线观看| 日本黄网站色大片免费观看| 成人免费一区二区三区视频| 韩国毛片一区二区三区| 99精品国产91久久久久久| 强迫凌虐淫辱の牝奴在线观看| 99re免费99re在线视频手机版| 国产片一区二区三区| 亚洲美腿欧美激情另类| 懂色中文一区二区三区在线视频| 亚洲专区欧美专区| 免费午夜视频在线观看| 国产精品大尺度| 全黄性性激高免费视频| 久久久女人电视剧免费播放下载| 久久久久久久香蕉网| 婷婷久久综合九色国产成人| 久久久精品91| 黄色av网站免费观看| avav免费在线观看| 日韩国产欧美在线播放| 91精品中文字幕| zjzjzjzjzj亚洲女人| 中文字幕亚洲在线| 欧美精品一区二区三区视频| 一级特黄特色的免费大片| av手机在线播放| 国产精品亚洲一区二区三区| 国产精品久久久久毛片大屁完整版| 国产一区二区三区高清播放| 四虎成人永久免费视频| 国产午夜精品理论片a级探花| 99av国产精品欲麻豆| 亚洲视频免费一区| 日韩精品在线私人| 日韩黄色三级在线观看| 久久一级黄色片| 欧美亚洲一二三区| 日韩专区一区二区| 97碰碰视频| 97视频在线观看免费高清完整版在线观看| 涩涩视频在线免费看| 中文字幕无码精品亚洲资源网久久| 欧美日韩久久久| 久久中文字幕国产| 一区二区三区国产视频| 新的色悠悠久久久| 538国产精品视频一区二区| 中文字幕一区免费| 五月天亚洲一区| 一区二区三区四区在线免费观看| 日本不卡二区高清三区| 欧美乱熟臀69xxxxxx| 欧美成人精品激情在线观看| 奇米777在线| 日韩av网站大全| 亚洲蜜桃精久久久久久久久久久久| 一区二区三区日韩精品| 婷婷综合久久中文字幕蜜桃三电影| 不卡亚洲精品| 亚洲人在线观看| 成人淫片免费视频95视频| 伊人久久大香线蕉综合影院首页| 亚洲精品.www| av中文字幕免费在线观看| 日韩一区二区三区在线看| 国产激情小视频| 激情综合色综合久久| 国产综合在线观看视频| 狠狠躁天天躁日日躁欧美| 一本一道久久综合狠狠老| 久久不射影院| 国产成人精品久久一区二区小说| 精品免费一区二区| 米奇精品一区二区三区在线观看| 国产精品久久久久久在线| 成人欧美视频在线观看播放| 免费观看又污又黄在线观看国产| 超碰国产精品久久国产精品99| 免费在线看黄网址| 亚洲欧美小说色综合小说一区| 在线免费观看色| 成人黄色中文字幕| 91久久偷偷做嫩草影院| 久久久精品在线观看| 视频二区在线观看| 国产中文字幕视频在线观看| 久久久久久穴| 在线观看亚洲免费视频| 日韩电影免费在线观看中文字幕| 一区二区三区中文字幕在线观看| 99国产精品视频免费观看| 999国产精品视频| 色播视频在线观看| 蜜臀av午夜精品| 18精品爽视频在线观看| 国产美女作爱全过程免费视频| 国产亚洲美女久久| 欧美韩日一区二区三区| 日韩在线a电影| 国产高潮视频在线观看| 午夜精品久久久久久久白皮肤| 亚洲美女在线观看| 日本午夜精品久久久久| 狠狠色丁香久久婷婷综合_中| 欧美高跟鞋交xxxxhd| 91成人影院| 97超级碰碰人国产在线观看| 一区二区亚洲欧洲国产日韩| www.98色噜噜噜| 日韩免费av电影| 午夜裸体女人视频网站在线观看| 伊人成色综合网| 欧美体内she精高潮| 国产ts在线播放| 久草在线综合| 巨胸喷奶水www久久久| 8av国产精品爽爽ⅴa在线观看| 免费网站免费进入在线| 免费成年人高清视频| 91九色最新地址| 147欧美人体大胆444| 日韩中文理论片| 青娱乐免费在线视频| 五月天丁香在线| 精品久久九九| 日韩在线观看高清| 91色p视频在线| 国产一区网站| 亚洲精品婷婷| 亚洲8888| 一本久道久久综合婷婷鲸鱼| 一区二区三区中文在线观看| 欧洲一级在线观看| 日本一区二区三区免费乱视频| 日韩欧美国产成人| 久久亚洲国产成人精品性色| 日本学生初尝黑人巨免费视频| 1区1区3区4区产品乱码芒果精品| 成人免费网站视频www| 日韩网红少妇无码视频香港| 山东少妇露脸刺激对白在线| 亚洲日本一区二区三区在线不卡| 50路60路老熟妇啪啪| 欧美体内she精视频| 国产精品h片在线播放| 1024精品久久久久久久久| 国产天堂在线观看| 天天想你在线观看完整版电影免费| 亚洲一区二区三区蜜桃| 免费成人直播| jizz中文字幕| 国产精品一区二区三区久久久| 在线视频这里只有精品| 黄色在线一区| 中文字幕无码乱码人妻日韩精品| 精品免费在线视频| 中文字幕影片免费在线观看| 人人狠狠综合久久亚洲| 色欲av伊人久久大香线蕉影院| 亚洲老司机网| 成人看片爽爽爽| 国产一区二区在线观看免费视频| 亚洲男人资源| 热久久精品免费视频| 精品999在线| 精品一区二区三区不卡| 黄色成人羞羞视频| 一区二区三区日本视频| 日本wwwxxxx| 成人午夜精品在线| 天天干天天干天天干天天干天天干| 91香蕉视频mp4| 欧美a级黄色大片| 日韩深夜福利| 91午夜在线观看| 日韩免费高清av| 中文字幕一区二区三| 欧美videosex性欧美黑吊| 欧美精品九九久久| 国产一区二区三区免费不卡| 伊人网在线观看| 你懂的网站在线观看网址| 欧美亚洲国产另类| 欧美精品高清| 夜夜揉揉日日人人青青一国产精品| 亚洲一区二区三区高清| 日日夜夜免费精品视频| 日韩在线中文字幕视频| 999精品色在线播放| 久久精品成人欧美大片免费| 全球成人中文在线| 激情成人中文字幕| 在线视频中文字幕| 乱子伦视频在线看| 一区二区三区免费视频播放器| 国产探花一区在线观看| 日韩中文字幕在线看| 日韩激情第一页| 亚洲一区二区三区在线播放| 国产毛片毛片毛片毛片| 97精品视频在线观看自产线路二| 国产社区精品视频| 99久久精品免费看国产| 中文字幕有码热在线视频| 欧美精品1区| 99国产精品99久久久久久粉嫩| 91精品蜜臀在线一区尤物| 刘玥91精选国产在线观看| 一区二区欧美精品| 三级外国片在线观看视频| 中文字幕在线观| 视频一区二区在线观看| 亚洲电影免费观看高清完整版在线| 污污视频在线免费| 国内外成人免费激情视频| 实拍女处破www免费看| 国产精品久久久久9999| 一个人看的日本www的免费视频| 欧美14一18处毛片| 欧美精品中文字幕一区| 国产福利91精品一区二区| 黄色欧美网站| 91网址在线看| 精品乱码一区二区三四区视频| 清纯唯美综合亚洲| 亚洲精品tv久久久久久久久久| 农村少妇久久久久久久| 91se在线| 日本高清www| 亚洲女人天堂在线| 国产爆初菊在线观看免费视频网站| 中文字幕一区二区三区最新| 国产免费一区视频观看免费| 涩涩屋黄网站| 欧美视频亚洲图片| 老司机精品久久| 欧美日本一区二区在线观看| 欧美丰满一区二区免费视频| 久久中文字幕在线观看| 中文字幕在线播放不卡一区| 国产精品亚洲片夜色在线| 天天色天天干天天色| 91精品国产色综合久久不卡电影| 国产无码精品一区二区| 久久新电视剧免费观看| 天天干天天舔天天操| 亚洲性视频h| 久久夜色精品国产亚洲aⅴ| 一区二区日韩在线观看| 天天在线免费视频| 五月天色综合| 欧美激情办公室videoshd| 51免费午夜啪啪| jlzzjizz在线播放观看| 日韩欧美黄色网址| 毛片在线导航| 亚洲欧美激情网| 中文字幕在线免费不卡| 精品国产青草久久久久福利| 91精品国产自产观看在线| 国产精品xxx在线观看| 久久国产精品99久久久久久丝袜| 亚洲成人日韩在线| 久久久久久久久影视| 日本一本二本在线观看| 91免费视频大全| 久久久亚洲精品一区二区三区|