• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于C++/CLI實(shí)現(xiàn)托管代碼與非托管代碼的交互

    2013-10-20 08:36:00馮士德
    微型電腦應(yīng)用 2013年1期
    關(guān)鍵詞:調(diào)用實(shí)例代碼

    馮士德

    0 引言

    由于托管代碼與非托管代碼在運(yùn)行機(jī)制上存在差異,導(dǎo)致了這兩者間無法實(shí)現(xiàn)直接的交互。雖然微軟在.Net Framework中提供了P/Invoke技術(shù)來解決托管代碼與非托管代碼之間的互操作問題[1]。但是使用 P/Invoke的 DllImport方法,僅能實(shí)現(xiàn)在托管代碼中調(diào)用非托管代碼中的函數(shù),而無法實(shí)現(xiàn)對非托管代碼中類的引用。為了解決這個(gè)問題,通常做法是建立函數(shù)接口對非托管代碼中的類進(jìn)行包裝,然后在托管代碼中使用 P/Invoke方法,通過調(diào)用函數(shù)接口間接調(diào)用非托管代碼中所定義的類。但是在托管代碼與非托管代碼互操作頻繁的項(xiàng)目中,通過函數(shù)接口調(diào)用非托管代碼中的類,將會破壞面向?qū)ο蟮木幊趟枷?,同時(shí)影響代碼的執(zhí)行效率。為了解決這一問題,本文就使用 C++/CLI語言實(shí)現(xiàn)在托管代碼與非托管代碼之間的交互進(jìn)行了研究,并以 C#語言為例解釋說明了其具體的實(shí)現(xiàn)的方法。

    1 C++/CLI與托管/非托管代碼

    C++/CLI是標(biāo)準(zhǔn) C++語言與CLI(Common Language Infrastructure)的集成。在代碼編制方法上,它在保留了標(biāo)準(zhǔn) C++語言的語法并對其進(jìn)行了擴(kuò)展以符合 CLI語言的要求。所以可以將C++/CLI語言簡單的看作為標(biāo)準(zhǔn)C++語言的一個(gè)擴(kuò)展。但在代碼編譯與執(zhí)行的原理上,它卻與標(biāo)準(zhǔn)C++語言截然不同,它遵守了CLI語言的規(guī)范。與其他CLI語言相同,C++/CLI語言在被編譯時(shí)將會被編譯成托管的微軟中間語言(MSIL)代碼,之后再由實(shí)時(shí)(JIT)編譯器在執(zhí)行時(shí)將中間語言代碼編譯為本機(jī)代碼后執(zhí)行[2]。不過又區(qū)別于其他CLI語言,C++/CLI代碼中以#pragma unmanaged標(biāo)記顯式標(biāo)注的代碼段將被直接編譯為本地二進(jìn)制代碼。所以C++/CLI代碼在經(jīng)過編譯,最后所生成的是托管代碼與非托管代碼的混合程序集,如圖1所示:

    圖1 C++/CLI代碼編譯機(jī)制

    可見C++/CLI代碼身處托管代碼與非托管代碼之間,其3者關(guān)系,如圖2所示:

    圖2 C++/CLI、托管代碼、非托管代碼關(guān)系

    C++/CLI代碼,就好似在托管世界與非托管世界之間架起了一座橋梁,打通了兩者之間的壁壘。通過在源代碼層次的交互,C++/CLI提供了一個(gè)非常有價(jià)值的跨編程語言的集成方式。借助于這種方式,可以將非托管代碼中的本地類在托管的世界中發(fā)布,這使得在同一個(gè)軟件項(xiàng)目中,充分調(diào)動(dòng)托管代碼世界與非托管代碼世界中,豐富軟件資源成為了可能。

    2 交互方法

    由于托管代碼與非托管代碼的實(shí)現(xiàn)機(jī)制不同,所以在這兩者間無法實(shí)現(xiàn)直接的函數(shù)調(diào)用或數(shù)據(jù)傳遞操作。而C++/CLI代碼恰恰介于托管與非托管之間,所以以C++/CLI代碼為中介,實(shí)現(xiàn)托管與非托管代碼之間的交互,是一個(gè)可行的方法,也是本文所研究的重點(diǎn)。

    2.1 基本思想

    以C++/CLI代碼為中介,實(shí)現(xiàn)托管代碼與非托管代碼交互的方式,如圖3所示:

    圖3 托管代碼與非托管代碼交互方式

    作為托管代碼與非托管代碼之間的中介,C++/CLI代碼必須完成以下兩項(xiàng)主要工作:

    a) 在托管代碼與非托管代碼之間傳遞數(shù)據(jù)

    b) 在托管代碼與非托管代碼之間轉(zhuǎn)換內(nèi)存地址

    C++/CLI代碼通過對非托管代碼中的類,進(jìn)行包裝來完成以上兩項(xiàng)工作。

    首先,使用C++/CLI代碼聲明一個(gè)非托管類的包裝類。此包裝類中必須含有一個(gè)指向非托管類實(shí)例的指針,這樣,包裝類便能夠通過這個(gè)指針,將托管代碼對非托管類實(shí)例的操作請求,傳遞給非托管類實(shí)例。

    然后,為包裝類添加構(gòu)造函數(shù)與析構(gòu)函數(shù)。在構(gòu)造函數(shù)中實(shí)現(xiàn)生成非托管類實(shí)例的操作,并將其地址賦給包裝類中非托管類實(shí)例的指針。在析構(gòu)函數(shù)中則應(yīng)實(shí)現(xiàn)刪除非托管類實(shí)例的操作。

    最后,為包裝類添加與非托管類中的公共成員屬性及公共成員函數(shù)對應(yīng)的成員屬性與成員函數(shù)。當(dāng)托管代碼需要讀寫非托管類中的公共成員屬性時(shí),托管代碼通過讀寫包裝類中相應(yīng)的成員屬性間接實(shí)現(xiàn)讀寫操作。托管代碼對非托管類中成員函數(shù)的調(diào)用操作亦是如此。

    可見使用C++/CLI代碼進(jìn)行集成是一種代碼級別的集成方式,通過 C++/CLI代碼可以非常方便地對非托管代碼中的類進(jìn)行包裝。所生成的包裝類完全符合CLI代碼規(guī)范,并可以在托管代碼中自由地調(diào)用,因此能夠?qū)崿F(xiàn)托管代碼與非托管代碼之間的無縫集成。

    2.2 交互方法舉例

    本節(jié)以C#語言為例,說明使用C++/CLI語言對非托管代碼中的導(dǎo)出類進(jìn)行包裝的具體方法。并以非托管代碼中的導(dǎo)出類UnmanagedClass為樣例對其進(jìn)行包裝,其頭文件聲明如下:

    UnmanagedClsss類中包括一個(gè) int型的公共屬性iParamA、一個(gè)公共函數(shù)Add以及相應(yīng)的構(gòu)造函數(shù)和析構(gòu)函數(shù)。Add函數(shù)實(shí)現(xiàn)了將兩個(gè)輸入?yún)?shù)相加并返回結(jié)果的簡單功能。這些函數(shù)與屬性均為公共類型(pubulic)。由于非托管類中私有類型(private)的成員屬性與成員函數(shù)僅在類的內(nèi)部可見無需導(dǎo)出,所以在該例中省略了私有成員屬性與私有成員函數(shù)。

    為了將UnmanagedClass包裝為托管代碼中的類,使用C++/CLI代碼聲明 ManagedClass類對其進(jìn)行包裝。ManagedClass的頭文件聲明如下:

    ManagedClass作為 UnmanagedClass被封裝后的托管類,根據(jù)托管代碼的規(guī)則,在聲明ManagedClass時(shí)必須同時(shí)指定其namespace。在本例中將其設(shè)為“SampleSolution”。

    在 ManagedClass中聲明一個(gè) protected的成員屬性pInstance,并設(shè)置該成員屬性為UnmanagedClass類的指針。當(dāng)ManagedClass的構(gòu)造函數(shù)被調(diào)用時(shí),在構(gòu)造函數(shù)中生成被包裝類UnmanagedClass的實(shí)例,并將其地址保存于這個(gè)指針屬性中。之后所有對ManagedClass的操作都將通過此指針傳遞給UnmanagedClass。ManagedClass的構(gòu)造與析構(gòu)函數(shù)如下:

    為了將UnmanagedClass中的每個(gè)公共成員屬性導(dǎo)出,在ManagedClass中為UnmanagedClass的每個(gè)公共成員屬性建立一個(gè)對應(yīng)的屬性。對ManagedClass中的公共屬性執(zhí)行讀寫操作時(shí),將實(shí)際的操作通過ManagedClass::pInstance指針傳遞給 UnmanagedClass實(shí)例,代碼舉例如下:

    從示例代碼中可知,當(dāng)對ManagedClass的iParamA執(zhí)行讀操作時(shí),實(shí)際返回的是由ManagedClass::pInstance所指UnmanagedClass實(shí)例中成員屬性iParamA的值。對iParamA的寫操作也類似,實(shí)際寫入的是UnmanagedClass實(shí)例中成員屬性iParamA。

    為了將ManagedClass中的每個(gè)公共成員函數(shù)導(dǎo)出,也采取與導(dǎo)出公共成員屬性相似的方法。在ManagedClass中為UnmanagedClass的每個(gè)公共成員函數(shù)聲明一個(gè)對應(yīng)的公共成員函數(shù),代碼舉例如下:

    當(dāng)ManagedClass中的成員函數(shù)被調(diào)用時(shí),此調(diào)用操作將通過 ManagedClass::pInstance指針找到 UnmanagedClass中所對應(yīng)的成員函數(shù),并將調(diào)用參數(shù)傳遞給它,然后執(zhí)行該函數(shù)并將返回值返回給ManagedClass的成員函數(shù),最后由ManagedClass的成員函數(shù)將返回值返回給函數(shù)調(diào)用者。

    3 執(zhí)行效率測試及其結(jié)果分析

    為了進(jìn)一步研究使用C++/CLI語言技術(shù)實(shí)現(xiàn)托管代碼與非托管代碼之間交互的方式是否會降低非托管代碼執(zhí)行效率的問題,本文以冒泡排序法為案例對該交互方式的代碼執(zhí)行效率進(jìn)行了測試。

    3.1 測試方法

    首先以 C++語言編制一個(gè)基于非托管代碼的 DLL文件,該DLL文件中包應(yīng)含一個(gè)實(shí)現(xiàn)冒泡排序法的導(dǎo)出類。然后使用C++/CLI語言對算法DLL文件進(jìn)行包裝,生成一個(gè)介于托管與非托管之間的DLL文件。最后使用C#語言編寫一個(gè)調(diào)用程序來調(diào)用這個(gè)DLL文件,以此實(shí)現(xiàn)冒泡排序的功能。

    同時(shí)作為對比試驗(yàn)的參照物,使用 C++語言編寫另一個(gè)調(diào)用程序。該程序直接調(diào)用非托管的算法DLL文件實(shí)現(xiàn)冒泡排序功能。

    通過對比這兩個(gè)分別由C#語言與C++語言實(shí)現(xiàn)的調(diào)用程序的執(zhí)行時(shí)間,便可以判斷經(jīng)過包裝后的非托管代碼的執(zhí)行效率是否會降低。所生成的實(shí)驗(yàn)用DLL文件與調(diào)用程序的結(jié)構(gòu),如圖4所示:

    圖4 試驗(yàn)用程序結(jié)構(gòu)

    3.2 試驗(yàn)結(jié)果

    為了得到相對準(zhǔn)確的試驗(yàn)結(jié)果,使用 C#調(diào)用程序與C++調(diào)用程序分別執(zhí)行對2萬、4萬、6萬、8萬、10萬個(gè)隨機(jī)數(shù)的排序操作,并分別記錄其執(zhí)行時(shí)間。

    同時(shí)考慮到Windows是多線程操作系統(tǒng),為了減少線程間調(diào)度對本次試驗(yàn)結(jié)果產(chǎn)生的影響,在執(zhí)行測試程序前已關(guān)閉了所有其它應(yīng)用程序。并且對各個(gè)數(shù)量級別的測試分別執(zhí)行 10次并取其平均數(shù)作為最后的試驗(yàn)結(jié)果。在CPU 為2.4GHz、內(nèi)存2G、Win7操作系統(tǒng)的普通臺式機(jī)環(huán)境中,實(shí)際測試結(jié)果,如圖5所示:

    圖5 試驗(yàn)結(jié)果對比

    由圖5中顯示的試驗(yàn)數(shù)據(jù)可知,經(jīng)過包裝的非托管代碼在托管代碼中的執(zhí)行效率與直接在非托管代碼中的執(zhí)行效率的差距在上下千分之三之內(nèi),在部分情況下甚至要稍高于直接在非托管代碼中的執(zhí)行效率。通過對比這兩組試驗(yàn)數(shù)據(jù),可以近似認(rèn)為非托管代碼在經(jīng)過包裝后的執(zhí)行效率等同于包裝前的執(zhí)行效率,代碼執(zhí)行效率幾乎不受包裝影響。

    4 結(jié)束語

    當(dāng)前微軟.Net平臺的發(fā)展勢頭正勁,托管代碼的執(zhí)行效率也正逐步逼近非托管代碼,很多軟件開發(fā)公司也都將.Net作為其主要產(chǎn)品開發(fā)平臺。.Net平臺的發(fā)展正按照微軟的規(guī)劃突飛猛進(jìn),好似無所不能。但是C++語言經(jīng)過了這么多年的發(fā)展與積累,數(shù)以萬計(jì)的程序員以C++語言開發(fā)了海量的應(yīng)用。特別是以科學(xué)計(jì)算、底層硬件通信為代表的,對代碼執(zhí)行效率、系統(tǒng)響應(yīng)速度有較高要求的應(yīng)用,多以C++語言實(shí)現(xiàn)。如果僅以.Net為開發(fā)平臺,將不得不放棄在以 C++語言為代表的非托管代碼世界中現(xiàn)存的眾多寶貴軟件資源。而隨著 C++/CLI語言的出現(xiàn),它以一種極其簡單且高效的方式,打通了托管世界與非托管世界之間的壁壘,為我們在.Net平臺的開發(fā)中充分的利用現(xiàn)有非托管軟件資源提供了有效的途徑。

    當(dāng)前能夠?qū)崿F(xiàn)在托管代碼與非托管代碼之間交互的技術(shù)有很多,例如利用隨機(jī)數(shù)據(jù)文件作為交互中介[3]等。但是每種交互方式都相對的存在其優(yōu)缺點(diǎn),在軟件項(xiàng)目中必須根據(jù)具體需求來決定選取何種交互方法。所以針對各種實(shí)現(xiàn)托管代碼與非托管代碼交互技術(shù)之間優(yōu)缺點(diǎn)的研究還值得繼續(xù)深入。

    [1]彭邦倫.C#托管代碼調(diào)用非托管代碼參數(shù)傳遞的實(shí)現(xiàn)方式.[J]軟件導(dǎo)刊2011,10(1)

    [2]鄭阿奇.Visual C++ .NET 2010 開發(fā)實(shí)踐-基于C++/CLI.[M]北京,電子工業(yè)出版社 2010年 12月 ISBN:978-7-121-12153-1

    [3]何淼,崔松健.一種基于隨機(jī)文件的C#與非托管C代碼交互模式.[J]信息化研究2011,37(2)

    [4]Jeffrey Richter.CLR via C#(第3版).[M]清華大學(xué)出版社 2010年9月 ISBN:978-7-302-23259-9

    [5]錢能.C++程序設(shè)計(jì)教程.[M]清華大學(xué)出版社, 1999年4月 ISBN:7-302-03421-4

    [6]蔡昭權(quán).C#和C++數(shù)據(jù)傳遞的研究與實(shí)現(xiàn).[J]計(jì)算機(jī)應(yīng)用與軟件2009,26(3)

    猜你喜歡
    調(diào)用實(shí)例代碼
    核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
    LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
    創(chuàng)世代碼
    創(chuàng)世代碼
    創(chuàng)世代碼
    創(chuàng)世代碼
    基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
    完形填空Ⅱ
    完形填空Ⅰ
    利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信
    九九热线精品视视频播放| 99久久精品热视频| 国产美女午夜福利| av欧美777| 国产高清videossex| 夜夜爽天天搞| 美女高潮喷水抽搐中文字幕| 99国产极品粉嫩在线观看| 国产亚洲精品久久久久久毛片| 九色国产91popny在线| 午夜激情福利司机影院| 乱人视频在线观看| 男女下面进入的视频免费午夜| 久久久久久人人人人人| 日本成人三级电影网站| 老熟妇乱子伦视频在线观看| 美女被艹到高潮喷水动态| 日本在线视频免费播放| 18禁裸乳无遮挡免费网站照片| 国产一区二区在线av高清观看| 日韩免费av在线播放| 亚洲欧美日韩东京热| 成人高潮视频无遮挡免费网站| 久久国产精品影院| 精品电影一区二区在线| 国产成人系列免费观看| 黄色日韩在线| 午夜福利在线在线| 欧美黄色片欧美黄色片| 男女下面进入的视频免费午夜| 国产国拍精品亚洲av在线观看 | 18禁裸乳无遮挡免费网站照片| 久久亚洲真实| 欧美色视频一区免费| 国产精华一区二区三区| 日本一二三区视频观看| 日韩高清综合在线| 好男人在线观看高清免费视频| 成人性生交大片免费视频hd| 99久久精品国产亚洲精品| 日日干狠狠操夜夜爽| 在线观看美女被高潮喷水网站 | 2021天堂中文幕一二区在线观| 白带黄色成豆腐渣| 女同久久另类99精品国产91| 婷婷亚洲欧美| 无限看片的www在线观看| 国产三级黄色录像| 18禁在线播放成人免费| 亚洲av第一区精品v没综合| 久久久久久久精品吃奶| 精品日产1卡2卡| www日本在线高清视频| 日韩欧美精品v在线| 亚洲性夜色夜夜综合| 免费在线观看亚洲国产| 国产探花在线观看一区二区| 人人妻,人人澡人人爽秒播| 欧美日韩中文字幕国产精品一区二区三区| 在线免费观看不下载黄p国产 | 观看免费一级毛片| 午夜两性在线视频| 亚洲内射少妇av| 一级作爱视频免费观看| 99精品在免费线老司机午夜| 久久精品91蜜桃| 亚洲,欧美精品.| 日本一二三区视频观看| 免费一级毛片在线播放高清视频| 亚洲乱码一区二区免费版| 深爱激情五月婷婷| 99久久综合精品五月天人人| 亚洲专区国产一区二区| 久久这里只有精品中国| 中亚洲国语对白在线视频| 亚洲avbb在线观看| 国产亚洲精品久久久久久毛片| 日本 av在线| 亚洲精华国产精华精| 亚洲第一电影网av| 国产精品综合久久久久久久免费| 欧美一区二区国产精品久久精品| 久久草成人影院| 国内精品一区二区在线观看| 亚洲,欧美精品.| 亚洲欧美日韩高清专用| 99久久99久久久精品蜜桃| 精品人妻1区二区| 乱人视频在线观看| 色尼玛亚洲综合影院| 亚洲人成网站在线播放欧美日韩| 女生性感内裤真人,穿戴方法视频| 久久九九热精品免费| 国产高清三级在线| 成人特级黄色片久久久久久久| 欧美黄色片欧美黄色片| 51国产日韩欧美| 9191精品国产免费久久| 欧美bdsm另类| 国产亚洲精品久久久com| av黄色大香蕉| 日本黄大片高清| www.999成人在线观看| 欧美日韩一级在线毛片| 两性午夜刺激爽爽歪歪视频在线观看| 午夜免费观看网址| 麻豆国产av国片精品| 国产伦精品一区二区三区四那| 国产精品影院久久| 男女视频在线观看网站免费| 在线播放国产精品三级| 大型黄色视频在线免费观看| av视频在线观看入口| 色尼玛亚洲综合影院| 成年女人看的毛片在线观看| 久久亚洲精品不卡| 高清日韩中文字幕在线| 黄色成人免费大全| 99视频精品全部免费 在线| 亚洲美女黄片视频| 亚洲精品色激情综合| 99精品欧美一区二区三区四区| 欧美性感艳星| 成年免费大片在线观看| 两个人看的免费小视频| 成人高潮视频无遮挡免费网站| 色在线成人网| 精品国产三级普通话版| 国产精品精品国产色婷婷| 亚洲最大成人手机在线| www.www免费av| 热99re8久久精品国产| 观看免费一级毛片| 国产亚洲精品一区二区www| 婷婷精品国产亚洲av| 国产一级毛片七仙女欲春2| 国产精品久久久久久精品电影| av视频在线观看入口| 久久精品国产99精品国产亚洲性色| 在线观看舔阴道视频| 欧美又色又爽又黄视频| 亚洲无线在线观看| 国产精品美女特级片免费视频播放器| 精品人妻一区二区三区麻豆 | 少妇高潮的动态图| 18禁黄网站禁片免费观看直播| 搡老妇女老女人老熟妇| 成人鲁丝片一二三区免费| 亚洲一区二区三区不卡视频| 精品人妻1区二区| 久久久精品欧美日韩精品| 热99re8久久精品国产| 一级毛片高清免费大全| 国内少妇人妻偷人精品xxx网站| 精品久久久久久,| 日韩成人在线观看一区二区三区| 香蕉av资源在线| 国产精品三级大全| 久久久久久久精品吃奶| 午夜福利在线观看吧| 欧美色欧美亚洲另类二区| 久久久久性生活片| 国产69精品久久久久777片| 精品人妻一区二区三区麻豆 | 动漫黄色视频在线观看| 草草在线视频免费看| tocl精华| www日本在线高清视频| 99热只有精品国产| 99精品久久久久人妻精品| 韩国av一区二区三区四区| 在线观看一区二区三区| 女警被强在线播放| 三级男女做爰猛烈吃奶摸视频| 国产高清视频在线观看网站| 99久国产av精品| 99视频精品全部免费 在线| 国产精品三级大全| 校园春色视频在线观看| 日韩免费av在线播放| 国产黄色小视频在线观看| www.熟女人妻精品国产| av中文乱码字幕在线| 69av精品久久久久久| 国产成人av激情在线播放| 国产精品久久久久久亚洲av鲁大| 超碰av人人做人人爽久久 | 国语自产精品视频在线第100页| 日本 av在线| 日韩欧美精品免费久久 | 99久久99久久久精品蜜桃| 亚洲精品一区av在线观看| 搡老妇女老女人老熟妇| 熟女少妇亚洲综合色aaa.| 国产乱人伦免费视频| 热99在线观看视频| 久久久久九九精品影院| 一卡2卡三卡四卡精品乱码亚洲| 欧美精品啪啪一区二区三区| 亚洲国产精品sss在线观看| 亚洲性夜色夜夜综合| 欧美一级毛片孕妇| 在线观看舔阴道视频| 亚洲精品在线观看二区| 成年人黄色毛片网站| 在线观看舔阴道视频| 91麻豆精品激情在线观看国产| 老司机午夜十八禁免费视频| 我的老师免费观看完整版| 制服丝袜大香蕉在线| 久久久久久久亚洲中文字幕 | 天美传媒精品一区二区| 波多野结衣巨乳人妻| 草草在线视频免费看| 狂野欧美白嫩少妇大欣赏| 老司机在亚洲福利影院| a级毛片a级免费在线| 精品久久久久久久久久久久久| 91字幕亚洲| 免费搜索国产男女视频| 国产亚洲精品av在线| 国产精品久久久人人做人人爽| 亚洲人成伊人成综合网2020| 99久久久亚洲精品蜜臀av| av视频在线观看入口| 丁香六月欧美| 国产精品,欧美在线| 桃色一区二区三区在线观看| 国产高潮美女av| 亚洲aⅴ乱码一区二区在线播放| 日韩大尺度精品在线看网址| 日韩欧美一区二区三区在线观看| 精品日产1卡2卡| 午夜福利高清视频| 嫁个100分男人电影在线观看| 久久精品亚洲精品国产色婷小说| 国产黄a三级三级三级人| 欧美日韩亚洲国产一区二区在线观看| 午夜影院日韩av| 18美女黄网站色大片免费观看| 亚洲国产欧美网| 高清日韩中文字幕在线| 欧洲精品卡2卡3卡4卡5卡区| 无遮挡黄片免费观看| 亚洲成av人片免费观看| 婷婷精品国产亚洲av| 天天添夜夜摸| 国产激情偷乱视频一区二区| 88av欧美| 国内久久婷婷六月综合欲色啪| 人人妻人人澡欧美一区二区| 在线观看日韩欧美| 不卡一级毛片| a在线观看视频网站| 国产成+人综合+亚洲专区| 国产精品一区二区三区四区久久| 法律面前人人平等表现在哪些方面| 亚洲av成人不卡在线观看播放网| 真人一进一出gif抽搐免费| 日韩精品中文字幕看吧| 18禁在线播放成人免费| 欧美高清成人免费视频www| 美女高潮喷水抽搐中文字幕| 色尼玛亚洲综合影院| 午夜影院日韩av| 最近在线观看免费完整版| 欧美不卡视频在线免费观看| 精品久久久久久久毛片微露脸| 老师上课跳d突然被开到最大视频 久久午夜综合久久蜜桃 | 男人舔女人下体高潮全视频| 最新在线观看一区二区三区| av天堂在线播放| 青草久久国产| 成年版毛片免费区| 99国产精品一区二区蜜桃av| 免费看光身美女| a级毛片a级免费在线| 亚洲在线观看片| 黄色女人牲交| 蜜桃亚洲精品一区二区三区| 日韩欧美精品v在线| 18禁黄网站禁片午夜丰满| 日本黄色视频三级网站网址| 高清毛片免费观看视频网站| 免费av不卡在线播放| 免费观看人在逋| 波多野结衣巨乳人妻| 欧美黑人欧美精品刺激| 亚洲精品乱码久久久v下载方式 | 黑人欧美特级aaaaaa片| 婷婷六月久久综合丁香| 欧美另类亚洲清纯唯美| 久久精品国产自在天天线| 97超级碰碰碰精品色视频在线观看| 亚洲中文字幕一区二区三区有码在线看| 色播亚洲综合网| 国产亚洲精品综合一区在线观看| 国产精品三级大全| 国产欧美日韩精品一区二区| 免费高清视频大片| 亚洲欧美日韩高清在线视频| 波多野结衣高清作品| 国产在视频线在精品| www日本黄色视频网| 欧美色欧美亚洲另类二区| 欧美一区二区精品小视频在线| 男人的好看免费观看在线视频| 国产精品一区二区三区四区免费观看 | 女人十人毛片免费观看3o分钟| 天堂av国产一区二区熟女人妻| 88av欧美| 高潮久久久久久久久久久不卡| 高清日韩中文字幕在线| 亚洲第一电影网av| 免费看a级黄色片| 久久久久国内视频| 又黄又粗又硬又大视频| 国产欧美日韩一区二区三| 在线观看日韩欧美| 久久精品国产亚洲av涩爱 | 亚洲成人免费电影在线观看| 长腿黑丝高跟| 亚洲 国产 在线| 日本免费a在线| 欧美国产日韩亚洲一区| 国产精品亚洲一级av第二区| 变态另类丝袜制服| 91麻豆av在线| 精品国产亚洲在线| 亚洲精品国产精品久久久不卡| 日本黄色片子视频| 国产探花极品一区二区| 一个人免费在线观看电影| 人人妻人人看人人澡| 床上黄色一级片| xxx96com| 国产高清视频在线观看网站| 免费观看精品视频网站| 深夜精品福利| 亚洲在线自拍视频| 天堂动漫精品| 国产欧美日韩精品一区二区| 亚洲av日韩精品久久久久久密| 国产精品电影一区二区三区| 九色成人免费人妻av| 99热这里只有是精品50| 长腿黑丝高跟| 国产精品野战在线观看| 露出奶头的视频| 午夜免费男女啪啪视频观看 | 成人高潮视频无遮挡免费网站| 在线观看美女被高潮喷水网站 | 亚洲人成网站在线播放欧美日韩| 黄片大片在线免费观看| 色哟哟哟哟哟哟| 午夜免费激情av| 在线观看66精品国产| 国产精品久久视频播放| 亚洲成人免费电影在线观看| 一本一本综合久久| ponron亚洲| 亚洲国产色片| 波多野结衣高清无吗| 热99re8久久精品国产| 嫩草影视91久久| 美女 人体艺术 gogo| 大型黄色视频在线免费观看| 国内精品久久久久久久电影| 国产野战对白在线观看| 久久久国产成人精品二区| 亚洲自拍偷在线| 性欧美人与动物交配| 亚洲国产精品999在线| 两人在一起打扑克的视频| 最好的美女福利视频网| 婷婷丁香在线五月| 黄色女人牲交| 久久久久久久亚洲中文字幕 | 国产真实乱freesex| 欧美区成人在线视频| 俺也久久电影网| 亚洲 欧美 日韩 在线 免费| 亚洲欧美日韩高清专用| 又粗又爽又猛毛片免费看| 一进一出抽搐动态| 99国产极品粉嫩在线观看| 欧美色欧美亚洲另类二区| 国产野战对白在线观看| 午夜福利成人在线免费观看| 亚洲美女视频黄频| 两个人看的免费小视频| 女生性感内裤真人,穿戴方法视频| 午夜视频国产福利| 听说在线观看完整版免费高清| 在线播放无遮挡| 天天添夜夜摸| 又黄又爽又免费观看的视频| 亚洲五月天丁香| 在线观看66精品国产| 男人的好看免费观看在线视频| 成年女人看的毛片在线观看| 欧美日韩一级在线毛片| 最好的美女福利视频网| 特大巨黑吊av在线直播| 99久久精品热视频| 天堂网av新在线| 波多野结衣高清作品| 亚洲在线观看片| 精品国产美女av久久久久小说| 国产v大片淫在线免费观看| 亚洲精品在线观看二区| 久9热在线精品视频| 熟妇人妻久久中文字幕3abv| 综合色av麻豆| 日本一本二区三区精品| 国产真实伦视频高清在线观看 | 在线观看一区二区三区| 狂野欧美白嫩少妇大欣赏| 日韩精品中文字幕看吧| 亚洲av电影在线进入| 亚洲天堂国产精品一区在线| 欧美在线黄色| 中文字幕精品亚洲无线码一区| 九九在线视频观看精品| 日韩欧美免费精品| 国产成人av激情在线播放| 少妇丰满av| 无人区码免费观看不卡| 免费av不卡在线播放| 听说在线观看完整版免费高清| 看免费av毛片| 久久久成人免费电影| 久久久国产成人精品二区| 男人舔奶头视频| 日韩av在线大香蕉| 无限看片的www在线观看| 色综合站精品国产| 天堂网av新在线| 日韩欧美三级三区| 内地一区二区视频在线| 午夜福利在线在线| 国产成人av教育| 日韩人妻高清精品专区| 精品久久久久久久末码| 日韩国内少妇激情av| 深爱激情五月婷婷| 在线观看舔阴道视频| 国产成人欧美在线观看| 一进一出抽搐gif免费好疼| 丝袜美腿在线中文| 国产亚洲精品av在线| 99在线人妻在线中文字幕| 高清在线国产一区| 无遮挡黄片免费观看| 美女 人体艺术 gogo| 麻豆久久精品国产亚洲av| 久久久久久久精品吃奶| 亚洲午夜理论影院| 亚洲熟妇中文字幕五十中出| 欧美中文综合在线视频| 免费看a级黄色片| 很黄的视频免费| 此物有八面人人有两片| 性欧美人与动物交配| 国产伦精品一区二区三区视频9 | 热99在线观看视频| 欧美最黄视频在线播放免费| 18禁在线播放成人免费| 在线a可以看的网站| 99在线视频只有这里精品首页| 午夜免费成人在线视频| 亚洲人成网站在线播| 国产成年人精品一区二区| 日韩欧美在线乱码| 久久久久久久精品吃奶| 人妻夜夜爽99麻豆av| xxxwww97欧美| www.色视频.com| 国内精品久久久久精免费| 亚洲18禁久久av| 怎么达到女性高潮| 国产成人福利小说| 国产激情偷乱视频一区二区| 丰满的人妻完整版| 国产精品永久免费网站| 国产蜜桃级精品一区二区三区| 高清在线国产一区| 亚洲激情在线av| 真实男女啪啪啪动态图| 亚洲激情在线av| 欧美国产日韩亚洲一区| 国产主播在线观看一区二区| 人妻久久中文字幕网| 日韩欧美精品v在线| 性欧美人与动物交配| 亚洲人成网站高清观看| 丰满人妻一区二区三区视频av | 成人特级黄色片久久久久久久| 十八禁人妻一区二区| 又紧又爽又黄一区二区| 日韩高清综合在线| 午夜两性在线视频| 午夜福利视频1000在线观看| 亚洲专区国产一区二区| 男女视频在线观看网站免费| 精品福利观看| 午夜福利在线观看吧| 九九在线视频观看精品| 国产亚洲av嫩草精品影院| 精品一区二区三区人妻视频| 青草久久国产| 每晚都被弄得嗷嗷叫到高潮| 91麻豆av在线| 亚洲av免费在线观看| 搡老熟女国产l中国老女人| 免费看十八禁软件| 亚洲精品在线观看二区| 国产在视频线在精品| 淫秽高清视频在线观看| av福利片在线观看| 国产成人av教育| 丁香欧美五月| 精品人妻一区二区三区麻豆 | 久久久久精品国产欧美久久久| 99在线人妻在线中文字幕| 欧美精品啪啪一区二区三区| 亚洲av免费高清在线观看| 在线视频色国产色| 午夜久久久久精精品| 天天添夜夜摸| 又紧又爽又黄一区二区| 非洲黑人性xxxx精品又粗又长| 国产精品av视频在线免费观看| 欧美最黄视频在线播放免费| 亚洲av一区综合| 久久国产精品影院| 亚洲成a人片在线一区二区| 高清日韩中文字幕在线| 国产午夜精品论理片| 日本一二三区视频观看| 亚洲欧美日韩无卡精品| 中文字幕久久专区| 欧美在线一区亚洲| 成人国产一区最新在线观看| 久久久久精品国产欧美久久久| 国产一区二区三区在线臀色熟女| 国产精品亚洲一级av第二区| 色视频www国产| 美女高潮喷水抽搐中文字幕| 一个人看视频在线观看www免费 | av天堂在线播放| 国产av一区在线观看免费| 嫩草影院精品99| 一个人看的www免费观看视频| www.www免费av| 亚洲成人久久性| 99久久精品国产亚洲精品| 国产精品99久久久久久久久| 精品人妻1区二区| 高清毛片免费观看视频网站| 久久久久久人人人人人| 午夜激情欧美在线| 日韩精品青青久久久久久| x7x7x7水蜜桃| www日本黄色视频网| 国产综合懂色| 色综合站精品国产| 一区二区三区国产精品乱码| 亚洲av电影在线进入| 中文资源天堂在线| 日本a在线网址| 变态另类成人亚洲欧美熟女| 午夜福利视频1000在线观看| 三级国产精品欧美在线观看| 男人的好看免费观看在线视频| 午夜福利在线在线| 中文字幕人妻熟人妻熟丝袜美 | 午夜日韩欧美国产| 最后的刺客免费高清国语| 精品久久久久久,| 精品国内亚洲2022精品成人| 欧美黑人巨大hd| 在线观看av片永久免费下载| 亚洲天堂国产精品一区在线| 偷拍熟女少妇极品色| 久久精品亚洲精品国产色婷小说| 18禁在线播放成人免费| 国产伦一二天堂av在线观看| 深爱激情五月婷婷| 熟妇人妻久久中文字幕3abv| 琪琪午夜伦伦电影理论片6080| 真人做人爱边吃奶动态| 深爱激情五月婷婷| 岛国在线观看网站| 久久久国产成人免费| 一a级毛片在线观看| 99久久99久久久精品蜜桃| 成年人黄色毛片网站| 国内揄拍国产精品人妻在线| 看黄色毛片网站| 国产成人影院久久av| 国产一区二区在线观看日韩 | 亚洲熟妇中文字幕五十中出| 婷婷精品国产亚洲av| 成人鲁丝片一二三区免费| 床上黄色一级片| 女同久久另类99精品国产91| 99久国产av精品| 综合色av麻豆| 国产毛片a区久久久久| 黄片大片在线免费观看| 一进一出抽搐gif免费好疼| 97超级碰碰碰精品色视频在线观看| 美女大奶头视频| 尤物成人国产欧美一区二区三区|