日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#与C++ DLL的交互

發(fā)布時間:2024/6/30 C# 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#与C++ DLL的交互 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

C#C++交互,總體來說可以有兩種方法:

1.利用C++/CLI作為代理中間層

2.利用PInvoke實現(xiàn)直接調(diào)用

?

? 第一種方法實現(xiàn)起來比較簡單直觀,并且可以實現(xiàn)C#調(diào)用C++所寫的類,但是問題是MONO架構(gòu)不支持C++/CIL功能,因此無法實現(xiàn)脫離Microsoft.NET Framework跨平臺運行。

? 第二種方法:簡單的實現(xiàn)并不麻煩,只要添加DllImportAttribute特性即可導(dǎo)入C++的函數(shù),但是問題是PInvoke不能簡單實現(xiàn)C++類的調(diào)用。在Warensoft3D為了可以使用MONO實現(xiàn)跨平臺(當然DirectX是不能跨平臺的)所以使用了本方法,下面將對本方法展開詳細的說明。

?

注意事項:

? PInvoke從功能上來說,只支持函數(shù)調(diào)用,在被導(dǎo)出的函數(shù)前面一定要添加rxtern “C來指明導(dǎo)出函數(shù)的時候使用C語言方式編譯和鏈接的,這樣保證函數(shù)定義的名字相同,否則如果默認按C++方式導(dǎo)出,那個函數(shù)名字就會變得亂七八糟,我們的程序就無法找到入口點了。

?

本文將說明一下幾點:

  • 互調(diào)的基本原理。
  • 基本數(shù)據(jù)類型的傳遞
  • 函數(shù)指針的傳遞
  • 結(jié)構(gòu)體的傳遞
  • ?

    1.互調(diào)的基本原理

    ? 首先,我們-來看一個在常規(guī)不過的概念數(shù)據(jù)類型在大多數(shù)的靜態(tài)語言中定義變量的時候都要先指定其數(shù)據(jù)的類型,所謂數(shù)據(jù)類型,都是人們加強的一個便于記憶的名稱,究其本質(zhì)就是指明了這個數(shù)據(jù)在內(nèi)存中到底占用了幾個字節(jié),程序在運行時,首先找到這個數(shù)據(jù)的地址,然后在按著該類型的長度,讀取相應(yīng)的內(nèi)存,然后再做處理。了解了前面,所有編程語言之間進行互調(diào)就有眉目了,對于不同的語言之間的互調(diào),只要將該數(shù)據(jù)的指針(內(nèi)存地址)傳遞給另一個語言在另一個語言中根據(jù)通信協(xié)議將指針所指向的數(shù)據(jù)存入長度對應(yīng)的數(shù)據(jù)類型即可,當然要滿足以下幾點。

    1.對于像Java.NET這樣有運行時虛擬機編程語言來講,由于虛擬機會讓堆內(nèi)存來回轉(zhuǎn)移,因此,在進行互調(diào)的時候要保證正在被互調(diào)的數(shù)據(jù)所在的內(nèi)存一定要固定,不能被轉(zhuǎn)移。

    2.有一些編程語言支持指針,有一些編程語言不支持指針(如Java),這個問題并不重要,所謂指針,其實就是一個內(nèi)存地址,對于32os的指針是一個32位整數(shù),而對于64位機os的指針是一個64位整數(shù)。因為大多數(shù)語言中都有整形數(shù),所以可以利用整形來接收指針。

    ?

    2.基本數(shù)據(jù)類型的傳遞

    ? 互調(diào)過程中,最基本要傳遞的無非是數(shù)值和字符,即:int,long,float,char等等,但是此類型非彼類型,C/C++C#中有一些數(shù)據(jù)類型長度是不一樣的,下表中列出常見數(shù)據(jù)類型的異同:

    ?

    C/C++?

    C#?

    長度

    short?

    short?

    2Bytes

    int

    int?

    4Bytes?

    long(該類型在傳遞的時候常常會弄混)

    int?

    4Bytes?

    bool?

    bool?

    1Byte?

    char(Ascii碼字符)

    byte?

    1Byte?

    wchar_t(Unicode字符,該類型與C#中的Char兼容)

    char?

    2Bytes?

    float

    float

    4Bytes

    double?

    double?

    8Bytes?

    ? 最容易弄混的是就是long,char兩個類型,在C/C++longint都是4個字節(jié),都對應(yīng)著C#中的int類型,而C/C++中的char類型占一個字節(jié),用來表示一個ASCII碼字符,在C#中能夠表示一個字節(jié)的是byte類型。與C#char類型對應(yīng)的應(yīng)該是C/C++中的wchar_t類型,對應(yīng)的是一個2字節(jié)的Unicode字符。

    ? 下面通過實例來說明調(diào)用過程:

    ? 由于項目的名稱是"TestCPPDLL",因此,會自動生成TestCPPDLL.hTestCPPDLL.cpp兩個文件,.h文件是要導(dǎo)出內(nèi)容的聲明文件,為了能清楚的說明問題,我們將TestCPPDLL.hTestCPPDLL.cpp兩個文件中的所有內(nèi)容都刪除,然后在TestCPPDLL.h中添加如下內(nèi)容:

    ? 第一行代碼中定義了一個名為"TESTCPPDLL_API"的宏,該宏對應(yīng)的內(nèi)容是"__declspec(dllexport)"意思是將后面修飾的內(nèi)容定義為DLL中要導(dǎo)出的內(nèi)容。當然你也可以不使用這個宏,可以直接將"__declspec(dllexport)"寫在要導(dǎo)出的函數(shù)前面。

    ? 第二行中的"EXTERN_C",是在"winnt.h"中定義的宏,在函數(shù)前面添加"EXTERN_C"等同于在函數(shù)前面添加extern?"C",意思是該函數(shù)在編譯和連接時使用C語言的方式,以保證函數(shù)名字不變。第二行的代碼是一個函數(shù)的聲明,說明該函數(shù)可以被模塊外部調(diào)用,其定義實現(xiàn)在TestCPPDLL.cpp中,TestCPPDLL.cpp的代碼如下所示:

    第三步:

    ? 在編譯C++DLL之前,需要做以下配置,在項目屬性對話框中選擇"C/C++"|"Advanced",將Compile AS 選項的值改為"C++"。然后確定,并編譯。

    生成的DLL文件如下圖所示:

    第四步:

    首先,添加一個C#的應(yīng)用程序,如果要在C#中調(diào)用C++DLL文件,先要在C#的類中添加一個靜態(tài)方法,并且使用DllImportAttribute對該方法進行修飾,代碼如下所示:

    DllImport中的第一個參數(shù)是指明DLL文件的位置,第二個參數(shù)"EntryPoint"用來指明對應(yīng)的C/C++中的函數(shù)名稱是什么。"extern"關(guān)鍵字表明該處聲明的這個Add方法是一個外部調(diào)用。

    該方法聲明完畢之后,就可以像調(diào)用一個普通的靜態(tài)方法一樣去使用了。

    下面是示例程序:

    class Program { [DllImport(@"E:\ex\TestCPPDLL\Debug\TestCPPDLL.dll", EntryPoint = "Add")] extern static int Add(int a, int b); static void Main(string[] args) { int c = Add(1,2); Console.WriteLine(c); Console.Read(); } }

    在運行C#程序之前,先要修改C#的項目屬性,如下圖所示:

    platform target設(shè)置為x86,并且允許非安全代碼(后面有用)。

    然后運行該C#程序,其結(jié)果如下圖所示:

    第五步:

    前面的Add方法中傳遞的是數(shù)值類型(int),其他的數(shù)據(jù)類型,如float,double,bool類型的傳遞方式是一樣的,下面演示如何傳遞字符串。

    TestCPPDLL.h中添加一個新的函數(shù)聲明,代碼如下:

    EXTERN_C TESTCPPDLL_API void __stdcall WriteString(wchar_t*content);

    這里的參數(shù)是wchar_t類型的指針,對應(yīng)著C#中的char類型。TestCPPDLL.cpp中添加如下代碼:

    TESTCPPDLL_API void __stdcall WriteString(wchar_t*content) { cout<<content; }

    該代碼的功能就是將輸入的字符串通過C++在控制臺上輸出。下面是在C#中的聲明:

    [DllImport(@"E:\ex\TestCPPDLL\Debug\TestCPPDLL.dll", EntryPoint = "WriteString")] extern unsafe static void WriteString(char*c);

    調(diào)用過程如下所示:

    //因為使用指針,因為要聲明非安全域 unsafe {//在傳遞字符串時,將字符所在的內(nèi)存固化,//并取出字符數(shù)組的指針fixed (char* p = &("hello".ToCharArray()[0])){ //調(diào)用方法 WriteString(p);} }

    其運行效果如下圖所示:

    3.?指針的傳遞

    根據(jù)前面介紹的數(shù)據(jù)類型對照表,我們可以直接在方法中傳遞指針,但是要注意的是我們常常需要將數(shù)組的指針(數(shù)據(jù)入口地址,第一個元素的地址),數(shù)據(jù)從C/C++C#時問題不大,但是如果從C#C/C++時一定要將數(shù)組先固化,然后再傳遞處理。

    下面演示如何傳遞指針,首先在TestCPPDLL.h中添加下列聲明:

    //傳入一個整型指針,將其所指向的內(nèi)容加1 EXTERN_C TESTCPPDLL_API void __stdcall AddInt(int *i); //傳入一個整型數(shù)組的指針以及數(shù)組長度,遍歷每一個元素并且輸出 EXTERN_C TESTCPPDLL_API void __stdcall AddIntArray(int *firstElement,int arraylength); //在C++中生成一個整型數(shù)組,并且數(shù)組指針返回給C# EXTERN_C TESTCPPDLL_API int* __stdcall GetArrayFromCPP(); 其實現(xiàn)寫在TestCPPDLL.cpp中,代碼如下所示: TESTCPPDLL_API void __stdcall AddInt(int *i) { (*i)++; } TESTCPPDLL_API void __stdcall AddIntArray(int *firstElement,int arrayLength) { int*currentPointer=firstElement; for (int i = 0; i < arrayLength; i++) { cout<<*currentPointer; currentPointer++; } cout<<endl; } int *arrPtr; TESTCPPDLL_API int* __stdcall GetArrayFromCPP() { arrPtr=new int[10]; for (int i = 0; i < 10; i++) { arrPtr[i]=i; } return arrPtr; }

    對應(yīng)調(diào)用的C#代碼如下所示:

    [DllImport(@"E:\ex\TestCPPDLL\Debug\TestCPPDLL.dll", EntryPoint = "AddInt")] extern unsafe static void AddInt(int* i); [DllImport(@"E:\ex\TestCPPDLL\Debug\TestCPPDLL.dll", EntryPoint = "AddIntArray")] extern unsafe static void AddIntArray(int* firstElement, int arraylength); [DllImport(@"E:\ex\TestCPPDLL\Debug\TestCPPDLL.dll", EntryPoint = "GetArrayFromCPP")] extern unsafe static int* GetArrayFromCPP();

    調(diào)用過程如下所示:

    unsafe { // 調(diào)用C++中的AddInt方法int i = 10; AddInt(&i); Console.WriteLine(i); //調(diào)用C++中的AddIntArray方法將C#中的數(shù)據(jù)傳遞到C++中,并在C++中輸出int[] CSArray = new int[10]; for (int iArr = 0; iArr < 10; iArr++) { CSArray[iArr] = iArr; } fixed (int* pCSArray = &CSArray[0]) { AddIntArray(pCSArray, 10); } //調(diào)用C++中的GetArrayFromCPP方法獲取一個C++中建立的數(shù)組int* pArrayPointer = null; pArrayPointer = GetArrayFromCPP(); for (int iArr = 0; iArr < 10; iArr++) { Console.WriteLine(*pArrayPointer); pArrayPointer++; } }

    4. 函數(shù)指針的傳遞

    前面說明的都是簡單數(shù)據(jù)類型的及其指針的傳遞,利用PInvoke我們也可以實現(xiàn)函數(shù)指針的傳遞,C#中并沒有函數(shù)指針的概念,但是可以使用委托(delegate)來代替函數(shù)指針,關(guān)于C#中委托的說明,可以參考筆者前面的一個文章:《C#委托及事件》

    大家可能會問,為什么要傳遞函數(shù)指針呢?利用PInvoke可以實現(xiàn)C#C/C++函數(shù)的調(diào)用,反過來,我們能不能在C/C++程序運行的某一時刻,來調(diào)用一個C#對應(yīng)的函數(shù)呢?(例如在C++中存在一個獨立線程,該線程可能在任意時刻觸發(fā)一個事件,并且需要通知C#)。這個時候,我們就有必要將一個C#中已經(jīng)指向某一個函數(shù)的函數(shù)指針(委托)傳遞給C++

    想要傳遞函數(shù)指針,首先要在C#中定義一個委托,并且在C++中定義一個函數(shù)指針,同時要保證委托和函數(shù)指針具備相同的函數(shù)原型,我們首先編寫C#的代碼,如下所示:

    //定義一個委托,返回值為空,存在一個整型參數(shù) public delegate void CSCallback(int tick); //定義一個用于回調(diào)的方法,與前面定義的委托的原型一樣 //該方法會被C++所調(diào)用 static void CSCallbackFunction(int tick) { Console.WriteLine(tick.ToString ()); } //定義一個委托類型的實例, //在主程序中該委托實例將指向前面定義的CSCallbackFunction方法 static CSCallback callback; 在CS的主程序中讓callback指向CSCallbackFunction方法,代碼如下所示: //調(diào)用委托所指向的方法 callback = CSCallbackFunction; 然后在C/C++中定義一個函數(shù)指針,并且添加一個用于設(shè)置函數(shù)指針的函數(shù),TestCPPDLL.h中的代碼如下所示: //定義一個函數(shù)指針 typedef void (__stdcall *CPPCallback)(int tick); //定義一個用于設(shè)置函數(shù)指針的方法, //并在該函數(shù)中調(diào)用C#中傳遞過來的委托 EXTERN_C TESTCPPDLL_API void SetCallback(CPPCallback callback); SetCallback函數(shù)的實現(xiàn)在TestCPPDLL.cpp中,代碼如下所示: TESTCPPDLL_API void SetCallback(CPPCallback callback) { int tick=rand(); //下面的代碼是對C#中委托進行調(diào)用 ????callback(tick); } 在C#中添加SetCallback函數(shù)的聲明,代碼如下所示: //這里使用CSCallback委托類型來兼容C++里的CPPCallback函數(shù)指針 [DllImport(@"E:\ex\TestCPPDLL\Debug\TestCPPDLL.dll", EntryPoint = "SetCallback")] extern static void SetCallback(CSCallback callback);

    C#中的調(diào)用過程如下所示:

    //讓委托指向?qū)⒈换卣{(diào)的方法 callback = CSCallbackFunction; //將委托傳遞給C++ SetCallback(callback);

    SetCallback方法被執(zhí)行后,在C#中定義的CSCallbackFunction就會被C++所調(diào)用。

    5. 結(jié)構(gòu)體的傳遞

    ?

    傳遞結(jié)構(gòu)體的想法和傳遞一個int類型數(shù)據(jù)類似,struct中的數(shù)據(jù)是在內(nèi)存中順序排列的,只要保證保證以下幾點,就可以直接傳遞結(jié)構(gòu)體,甚至是結(jié)構(gòu)體的指針:

    • 要傳遞的成員為公有的值類型字段
    • C#中結(jié)構(gòu)體字段類型與C++結(jié)構(gòu)體中的字段類型相兼容
    • C#結(jié)構(gòu)中的字段順序與C++結(jié)構(gòu)體中的字段順序相同,要保證該功能,需要將C#結(jié)構(gòu)體標記為[StructLayout( LayoutKind.Sequential)]?

    下面通過代碼進行說明,首先在C#中添加一個結(jié)構(gòu)體,代碼如下所示:

    [StructLayout( LayoutKind.Sequential)] struct Vector3 { public float X, Y, Z; }

    該結(jié)構(gòu)體表示一個3D向量,包括XYZ三個float類型的分量。

    然后在TestCPPDLL.h中也定義一個相同結(jié)構(gòu)的結(jié)構(gòu)體,代碼如下所示:

    struct Vector3 { float X,Y,Z; };

    TestCPPDLL.h中聲明一個用于傳遞Vector3結(jié)構(gòu)體的一個函數(shù),代碼如下所示:

    EXTERN_C TESTCPPDLL_API void __stdcall SendStructFromCSToCPP(Vector3 vector);

    TestCPPDLL.cpp中將其實現(xiàn),代碼如下所示:

    TESTCPPDLL_API void __stdcall SendStructFromCSToCPP(Vector3 vector) { cout<<"got vector3 in cpp,x:"; cout<<vector.X; cout<<",Y:"; cout<<vector.Y; cout<<",Z:"; cout<<vector.Z; }

    C#中添加對SendStructFromCSToCPP函數(shù)的聲明,代碼如下所示:

    [DllImport(@"E:\ex\TestCPPDLL\Debug\TestCPPDLL.dll", EntryPoint = "SendStructFromCSToCPP")] extern static void SendStructFromCSToCPP(Vector3 vector);

    C#中的調(diào)用過程如下所示:

    //建立一個Vector3的實例 Vector3 vector = new Vector3() { X =10,Y=20,Z=30 }; //將vector傳遞給C++并在C++中輸出 SendStructFromCSToCPP(vector);

    基輸出效果如下所示:

    ?

    完整的TestCPPDLL.h代碼如下所示:

    #define TESTCPPDLL_API __declspec(dllexport)EXTERN_C TESTCPPDLL_API int __stdcall Add(int a,int b);EXTERN_C TESTCPPDLL_API void __stdcall WriteString(wchar_t*content);//傳入一個整型指針,將其所指向的內(nèi)容加1 EXTERN_C TESTCPPDLL_API void __stdcall AddInt(int *i);//傳入一個整型數(shù)組的指針以及數(shù)組長度,遍歷每一個元素并且輸出 EXTERN_C TESTCPPDLL_API void __stdcall AddIntArray(int *firstElement,int arraylength);//在C++中生成一個整型數(shù)組,并且數(shù)組指針返回給C# EXTERN_C TESTCPPDLL_API int* __stdcall GetArrayFromCPP();//定義一個函數(shù)指針 typedef void (__stdcall *CPPCallback)(int tick);//定義一個用于設(shè)置函數(shù)指針的方法,//并在該函數(shù)中調(diào)用C#中傳遞過來的委托 EXTERN_C TESTCPPDLL_API void __stdcall SetCallback(CPPCallback callback);struct Vector3{float X,Y,Z;};EXTERN_C TESTCPPDLL_API void __stdcall SendStructFromCSToCPP(Vector3 vector);

    ?

    完整的TestCPPDLL.CPP代碼如下所示:

    #include "stdafx.h"#include <iostream>#include "TestCPPDLL.h"using namespace std;TESTCPPDLL_API int __stdcall Add(int a,int b){return a+b;}TESTCPPDLL_API void __stdcall WriteString(wchar_t*content){wprintf(content);printf("\n");}TESTCPPDLL_API void __stdcall AddInt(int *i){(*i)++;}TESTCPPDLL_API void __stdcall AddIntArray(int *firstElement,int arrayLength){int*currentPointer=firstElement;for (int i = 0; i < arrayLength; i++){cout<<*currentPointer;currentPointer++;}cout<<endl;}int *arrPtr;TESTCPPDLL_API int* __stdcall GetArrayFromCPP(){arrPtr=new int[10];for (int i = 0; i < 10; i++){arrPtr[i]=i;}return arrPtr;}TESTCPPDLL_API void __stdcall SetCallback(CPPCallback callback){int tick=100;//下面的代碼是對C#中委托進行調(diào)用 callback(tick);}TESTCPPDLL_API void __stdcall SendStructFromCSToCPP(Vector3 vector){cout<<"got vector3 in cpp,x:";cout<<vector.X;cout<<",Y:";cout<<vector.Y;cout<<",Z:";cout<<vector.Z;}

    ?

    完整的C#代碼如下所示:

    ?

    using System; using System.Collections.Generic; using System.Runtime.InteropServices; using System.Text;namespace ConsoleApplication1 {class Program {[DllImport(@"E:\ex\TestCPPDLL\Debug\TestCPPDLL.dll", EntryPoint = "Add")] extern static int Add(int a, int b); [DllImport(@"E:\ex\TestCPPDLL\Debug\TestCPPDLL.dll", EntryPoint = "WriteString")] extern unsafe static void WriteString(char* c); [DllImport(@"E:\ex\TestCPPDLL\Debug\TestCPPDLL.dll", EntryPoint = "AddInt")] extern unsafe static void AddInt(int* i); [DllImport(@"E:\ex\TestCPPDLL\Debug\TestCPPDLL.dll", EntryPoint = "AddIntArray")] extern unsafe static void AddIntArray(int* firstElement, int arraylength); [DllImport(@"E:\ex\TestCPPDLL\Debug\TestCPPDLL.dll", EntryPoint = "GetArrayFromCPP")] extern unsafe static int* GetArrayFromCPP();//定義一個委托,返回值為空,存在一個整型參數(shù) public delegate void CSCallback(int tick); //定義一個用于回調(diào)的方法,與前面定義的委托的原型一樣 //該方法會被C++所調(diào)用 static void CSCallbackFunction(int tick) {Console.WriteLine(tick.ToString()); } //定義一個委托類型的實例, //在主程序中該委托實例將指向前面定義的CSCallbackFunction方法 static CSCallback callback; //這里使用CSCallback委托類型來兼容C++里的CPPCallback函數(shù)指針 [DllImport(@"E:\ex\TestCPPDLL\Debug\TestCPPDLL.dll", EntryPoint = "SetCallback")] extern static void SetCallback(CSCallback callback); [StructLayout(LayoutKind.Sequential)] struct Vector3 {public float X, Y, Z; } [DllImport(@"E:\ex\TestCPPDLL\Debug\TestCPPDLL.dll", EntryPoint = "SendStructFromCSToCPP")] extern static void SendStructFromCSToCPP(Vector3 vector); static void Main(string[] args) {int c = Add(1, 2);Console.WriteLine(c);//因為使用指針,因為要聲明非安全域unsafe{//在傳遞字符串時,將字符所在的內(nèi)存固化,//并取出字符數(shù)組的指針fixed (char* p = &("hello".ToCharArray()[0])){//調(diào)用方法   WriteString(p);}}    unsafe{// 調(diào)用C++中的AddInt方法int i = 10;AddInt(&i);Console.WriteLine(i);//調(diào)用C++中的AddIntArray方法將C#中的數(shù)據(jù)傳遞到C++中,并在C++中輸出int[] CSArray = new int[10];for (int iArr = 0; iArr < 10; iArr++){CSArray[iArr] = iArr;} fixed (int* pCSArray = &CSArray[0]){AddIntArray(pCSArray, 10);}//調(diào)用C++中的GetArrayFromCPP方法獲取一個C++中建立的數(shù)組int* pArrayPointer = null;pArrayPointer = GetArrayFromCPP();for (int iArr = 0; iArr < 10; iArr++){Console.WriteLine(*pArrayPointer);pArrayPointer++;} } //讓委托指向?qū)⒈换卣{(diào)的方法
    callback = CSCallbackFunction; //將委托傳遞給C++ SetCallback(callback); //建立一個Vector3的實例 Vector3 vector = new Vector3() { X = 10, Y = 20, Z = 30 }; //將vector傳遞給C++并在C++中輸出 SendStructFromCSToCPP(vector); Console.Read(); }

    ?

    轉(zhuǎn)載于:https://www.cnblogs.com/ye-ming/p/7883579.html

    總結(jié)

    以上是生活随笔為你收集整理的C#与C++ DLL的交互的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    99 久久久久| 国产黄色免费 | 国产精品一区二区三区四 | 二区三区av | 日韩欧美网址 | av免费福利 | 91九色丨porny丨丰满6 | 成人午夜久久 | 911免费视频 | 日韩欧美一区二区三区黑寡妇 | 亚洲国产激情 | 黄色一级大片在线免费看国产一 | 二区三区中文字幕 | 99 精品 在线 | 亚洲91中文字幕无线码三区 | 欧美日韩不卡在线 | 免费av高清 | 在线观看免费日韩 | 美女免费视频一区二区 | 中文字幕成人在线观看 | 精品视频免费在线 | 欧美日韩在线免费视频 | 日韩综合色 | 97人人添人澡人人爽超碰动图 | 黄网站免费大全入口 | 久久艹影院 | 国产在线日韩 | 国产资源在线免费观看 | 九九九九九国产 | 看国产黄色片 | 国色天香在线观看 | 国产a精品| 日韩电影精品一区 | 日韩久久久久久久 | 欧美日韩在线看 | 狠狠干狠狠插 | 黄色小视频在线观看免费 | 亚洲欧美视频在线 | 福利视频一区二区 | 五月婷婷丁香综合 | 99爱视频在线观看 | 天天玩天天干 | 亚洲无毛专区 | 欧美国产日韩一区二区三区 | 日韩在线观看小视频 | 99久热在线精品视频观看 | 久久小视频 | 国产婷婷久久 | 久久爽久久爽久久av东京爽 | 久艹视频在线免费观看 | 精品999在线 | 免费在线h| 人人爽人人爽人人 | 色多多在线观看 | 亚洲精品高清一区二区三区四区 | 日韩中文字幕国产 | 中文国产成人精品久久一 | 91视频91色 | 成人欧美亚洲 | www.99热精品 | 国产丝袜美腿在线 | 国产色拍 | 一级成人网 | 日本爱爱免费 | 五月婷婷综合在线 | jizz欧美性9 国产一区高清在线观看 | 精品一区二区三区香蕉蜜桃 | 欧美精品免费在线 | 久草免费色站 | 黄色片免费在线 | 美女在线观看网站 | 日韩一三区 | 欧美夫妻性生活电影 | 国产一卡二卡在线 | 国产精品免费麻豆入口 | 成人app在线播放 | 99re8这里有精品热视频免费 | 免费成人av网站 | 亚洲国产精品激情在线观看 | 亚洲国产网址 | 成人精品影视 | 91私密视频| 亚洲成人av一区 | 婷婷久久一区二区三区 | av视屏在线| 黄色大片视频网站 | 久久黄色小说视频 | 五月天久久久久 | 久久只精品99品免费久23小说 | 日韩18p| 欧美91视频 | 中文在线亚洲 | 国产精品999久久久 久产久精国产品 | 成人片在线播放 | 天天操天天玩 | 久久成人在线视频 | 国产日韩欧美在线看 | www.激情五月.com | 欧美激情h| 日本巨乳在线 | 国产99久久久国产精品免费二区 | 亚洲午夜久久久影院 | 久久久影院官网 | 国产精品一区二区久久 | 色在线视频 | 视频在线精品 | 一区二区在线不卡 | 精品国产乱码久久久久久浪潮 | 色资源在线观看 | 高清国产一区 | 99视频在线观看免费 | 日日干日日操 | 91av99| 久久精品一区二区三区四区 | 久久久观看 | av不卡免费在线观看 | www色com| 九九有精品 | 精品主播网红福利资源观看 | 欧美一级专区免费大片 | 手机av资源 | 91精品办公室少妇高潮对白 | 四虎成人精品永久免费av | 久久久精品高清 | 综合色婷婷 | 久久艹在线 | 91在线日韩 | 欧美色图一区 | 色网站黄| 国产精品白丝av | av综合在线观看 | 色综合天天射 | 黄色综合 | 伊人www22综合色 | av一区二区在线观看中文字幕 | 在线国产一区 | 精品福利视频在线 | 黄色av一区二区 | 久久综合色影院 | 97在线超碰 | 五月婷婷开心中文字幕 | 天堂久色 | 久久久91精品国产一区二区三区 | 国产精品久久久 | 免费人成网 | 色婷婷电影网 | 色婷婷亚洲精品 | 就要色综合 | 欧美一二三视频 | 亚洲精品动漫成人3d无尽在线 | 国产精品久久影院 | 麻豆传媒在线免费看 | 丁香高清视频在线看看 | 99久久婷婷国产综合亚洲 | 成人毛片一区 | 日日干av | av成人在线观看 | 国产免费久久久久 | 91成人区 | 国产亚洲91 | 蜜臀精品久久久久久蜜臀 | 免费av小说 | 久久99精品久久久久久清纯直播 | 激情五月综合 | 久草综合在线 | 福利二区视频 | 丁香婷婷久久久综合精品国产 | 亚洲精品国产成人 | 波多野结衣电影一区 | 日本精品久久久久久 | 超碰在线成人 | 在线观看成人一级片 | 在线观看视频在线 | 91久久精品日日躁夜夜躁国产 | 久热精品国产 | 国产精品久久久久婷婷 | 亚洲成人黄色在线 | 天天色综合久久 | 国产福利av | 麻花豆传媒一二三产区 | 丁香婷婷久久 | 国产最新在线视频 | 亚洲精品午夜一区人人爽 | 久久久亚洲精品 | 超碰在线cao| 在线免费观看国产精品 | 久久丁香网 | 国产精品毛片一区二区 | 国产精品一区二区久久精品爱涩 | 日本夜夜草视频网站 | 啪嗒啪嗒免费观看完整版 | 久久久久久久久久久久国产精品 | 久久久成人精品 | 99热精品在线 | 免费看精品久久片 | 黄色一级大片在线观看 | 欧美日韩亚洲第一 | 黄色片毛片 | 五月天亚洲婷婷 | 国产伦理久久精品久久久久_ | 欧洲视频一区 | 天堂av免费| 日韩中文字幕免费在线播放 | 婷婷播播网 | 欧美日韩国产免费视频 | 中文字幕有码在线 | 波多野结衣在线观看一区二区三区 | 超碰成人网 | 欧美精品久久久久a | 99精品国产99久久久久久97 | 超碰在线9| 久久第四色| 亚洲天堂在线观看完整版 | 91理论片午午伦夜理片久久 | 免费视频你懂的 | 欧美激情精品久久久久久免费印度 | 婷婷视频在线播放 | 国产一卡久久电影永久 | 久久欧美综合 | 亚洲成人xxx | 免费在线观看黄 | 久久久精品亚洲 | 激情文学综合丁香 | 色999视频 | 精品麻豆 | 午夜精品成人一区二区三区 | 日韩中文在线播放 | 中文字幕一区二区三区四区在线视频 | 欧美一级免费片 | 亚洲专区在线视频 | 精品国产乱子伦一区二区 | 久久亚洲精品国产亚洲老地址 | 激情视频免费在线观看 | 五月天最新网址 | 在线免费国产视频 | 久久狠狠亚洲综合 | 一区二区三区免费在线观看视频 | 国产色a在线观看 | 国产永久网站 | 国产精品久久久久久久久久久久午夜片 | 日韩在线 一区二区 | 高清视频一区二区三区 | 中文字幕 国产精品 | 伊人久久影视 | 黄色软件视频大全免费下载 | 欧美日韩精品在线观看 | 国产精品成人免费一区久久羞羞 | 亚洲三级精品 | 午夜精品久久久久久99热明星 | 国产99久久久精品视频 | 激情综合站| 99re中文字幕 | 中文国产字幕在线观看 | 五月开心激情网 | 久久视频在线免费观看 | 国产高清一区二区 | 欧美日韩精品免费观看视频 | 在线天堂中文在线资源网 | 欧美精彩视频在线观看 | 久久精品国产精品亚洲精品 | 8x成人在线 | 色欧美日韩 | 国产黄色一级大片 | 91精品国产高清自在线观看 | 久久人人97超碰精品888 | 久久精品站 | 色美女在线 | 国产精品区在线观看 | 国产精品久久久av | 91精品办公室少妇高潮对白 | 一区二区三区高清不卡 | 国产亚洲久一区二区 | 首页中文字幕 | 欧美成人免费在线 | 久久久91精品国产一区二区三区 | 99色| 最近中文字幕免费视频 | 久久高清精品 | 色综合久久88| 免费高清在线视频一区· | 国产黄色在线网站 | 91视频com | 婷婷.com| 国产小视频精品 | 亚洲国产网站 | 婷婷激情av | 在线 日韩 av | 日韩精选在线 | 99视频久久 | 国产精品99久久99久久久二8 | 免费69视频 | 日韩免费一级a毛片在线播放一级 | 91av视屏| 最新日韩在线观看 | 伊人天天狠天天添日日拍 | 色欧美日韩 | 亚洲精品在线观看不卡 | 久久中文精品视频 | 色视频网页 | 日韩一区二区久久 | 日韩在线字幕 | 国产免费叼嘿网站免费 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 亚洲综合婷婷 | 久久久久国产精品厨房 | 久久精品www人人爽人人 | 色综合久久综合中文综合网 | 韩国一区二区在线观看 | 狠狠的干狠狠的操 | 99精品国产兔费观看久久99 | 日韩av免费在线看 | 国产成年免费视频 | 婷婷丁香久久五月婷婷 | 国产精品视频一二三 | 国产精品va| 91一区啪爱嗯打偷拍欧美 | 中文字幕免费高清 | 九九色在线 | 天天操天操 | 亚洲免费在线 | 国产综合小视频 | 欧美成亚洲 | 九九涩涩av台湾日本热热 | 婷婷精品| 免费视频网 | 在线国产一区 | 国产美女免费观看 | 973理论片235影院9 | 欧美激情va永久在线播放 | 中文字幕亚洲精品在线观看 | 免费在线观看的av网站 | 国产成人在线观看 | 伊人狠狠 | a视频免费在线观看 | 欧美一二三视频 | 欧美在线91 | 精品久久免费看 | 在线观看视频中文字幕 | 久久久久久欧美二区电影网 | 久草在线资源免费 | 天天天天爱天天躁 | 亚洲一级二级 | 天天天干天天射天天天操 | 国产黄色在线看 | 精品国偷自产在线 | 久久精品中文字幕一区二区三区 | 成人网大片 | 亚洲日韩欧美视频 | 精品视频免费久久久看 | 天堂入口网站 | 色com | 国产成人久久av免费高清密臂 | 最新色站 | 国产精品免费麻豆入口 | www亚洲一区 | 91av电影在线 | 波多野结衣日韩 | 国产拍在线 | 欧美亚洲专区 | 国产精品第54页 | 日韩成片| 国产精品免费高清 | 伊人婷婷网 | 国产一级片久久 | 中文字幕 国产视频 | 99视频99| 国产精品国产三级国产aⅴ无密码 | 日韩在线电影 | 美女福利视频一区二区 | 日韩在线视频免费播放 | 久热超碰 | 亚洲精品午夜久久久久久久 | 人人爱人人爽 | 日韩天堂在线观看 | 欧美天堂久久 | 手机av电影在线观看 | 99久久久久 | 五月花丁香婷婷 | 欧美精品久久久久久久久老牛影院 | 欧美日韩视频一区二区三区 | 五月天激情开心 | 亚洲精品videossex少妇 | 国产女人18毛片水真多18精品 | 日日夜夜网 | 久草在线播放视频 | 久久国产精品区 | 在线国产视频一区 | 国产福利在线免费观看 | 婷婷综合亚洲 | 久久精品中文视频 | 探花视频在线观看 | 久久精品日产第一区二区三区乱码 | 婷婷亚洲激情 | 久久美女视频 | 波多野结衣综合网 | 亚洲精品网站在线 | free. 性欧美.com| 中文字幕一区二区三区四区 | 亚洲精品美女久久久 | 又黄又刺激视频 | 国产精品av免费在线观看 | 日韩a级黄色片 | 日韩天天操| 国产精品免费久久久久 | 国产精品麻豆91 | 日韩视频在线一区 | 欧美少妇xxxxxx | 又爽又黄又刺激的视频 | 在线观看片 | av综合av| 综合色中文 | 国产精品美女久久久久久2018 | 午夜91在线 | 国产精品99久久久精品 | 精品久久久久久国产偷窥 | 99精品视频在线观看播放 | 日韩va亚洲va欧美va久久 | 亚洲va天堂va欧美ⅴa在线 | 亚洲美女在线国产 | 欧美大片mv免费 | 中文国产字幕在线观看 | 久久夜色精品国产欧美一区麻豆 | 久草在线视频在线观看 | 免费男女羞羞的视频网站中文字幕 | 国产老妇av | 天堂网一区二区 | 国产免费久久av | 国产精品女教师 | 在线观看av黄色 | 国产91精品高清一区二区三区 | 91九色porny蝌蚪主页 | 日韩美精品视频 | 国产精品自产拍在线观看蜜 | 黄色一级在线观看 | 东方av在 | 国产精品久久久久久久久久久久午夜片 | aa级黄色大片 | 国产日韩欧美在线观看 | 日韩欧美一区二区三区免费观看 | 婷婷性综合 | 在线观看av国产 | 日韩精品在线视频 | 久操视频在线观看 | 成人国产电影在线观看 | 国产高清第一页 | 中文字幕亚洲欧美日韩2019 | 最新在线你懂的 | 中文字幕丝袜制服 | 五月天天av | 精品视频在线看 | 91干干干 | 日韩av不卡在线播放 | 亚洲高清视频在线观看免费 | 日韩av片免费在线观看 | 99热国产在线 | 在线观看免费一级片 | 久久综合九色综合欧美就去吻 | 国产一卡二卡四卡国 | 国产中出在线观看 | 亚洲蜜桃在线 | 中文字幕在线一区二区三区 | 国产精华国产精品 | 欧美aa在线 | 中文字幕久久久精品 | 97色综合 | 午夜av大片 | 成人中文字幕在线 | 欧美天天综合 | 国产精品24小时在线观看 | 日本成人免费在线观看 | 亚洲天堂网视频在线观看 | 久久伊人八月婷婷综合激情 | 婷婷六月天在线 | 狠狠色网 | 亚洲经典中文字幕 | 91精品国产99久久久久久红楼 | 波多野结衣在线视频一区 | 日韩深夜在线观看 | 日本公乱妇视频 | 久久精品亚洲 | 免费在线观看国产黄 | 色播99| 亚洲国产精品va在线 | 91黄色影视| 亚洲精品国产精品99久久 | 国产99久久精品一区二区300 | 欧美精品久久人人躁人人爽 | 久草在线视频精品 | 最近中文字幕久久 | 在线观看视频亚洲 | 国产成人不卡 | 久久成电影 | 最新国产精品拍自在线播放 | 日韩精品一区二区三区丰满 | 国产精品久久久一区二区三区网站 | 免费观看v片在线观看 | 国产精品乱码久久久久 | 色福利网 | 亚洲小视频在线 | 最新影院 | 中文字幕成人一区 | 天天插一插 | 欧美另类xxx | 2018精品视频| 久热国产视频 | 国产黄色av | 天天天干夜夜夜操 | 麻花天美星空视频 | 亚洲影视九九影院在线观看 | 色就干| 国产成人在线播放 | 日韩在线电影观看 | 成人h在线播放 | 久久综合亚洲鲁鲁五月久久 | 亚洲另类在线视频 | 日韩精品一区电影 | 国产精品视频app | 在线观看视频亚洲 | 成人观看视频 | 亚洲国产中文字幕 | 久久69精品久久久久久久电影好 | 国产99在线免费 | 美女免费视频一区二区 | 亚洲在线视频免费 | 97色se| 久久精品女人毛片国产 | 中文字幕一区二区三区四区在线视频 | 久久手机在线视频 | 免费裸体视频网 | 99福利影院| 日韩av手机在线观看 | 国产一区 在线播放 | 色www精品视频在线观看 | 九九免费观看视频 | 婷婷六月色| 欧美久久综合 | 精品一区精品二区高清 | 国产午夜麻豆影院在线观看 | 在线观看一区 | 久草精品网 | 免费精品在线视频 | 亚洲涩综合 | 国内精品久久久久久久久久久久 | 欧美在线观看视频免费 | 91中文字幕在线视频 | 有码一区二区三区 | 日韩国产精品一区 | 日韩电影一区二区在线观看 | 操操操com | 欧美一区影院 | 欧美黑人性爽 | 97视频资源 | 久久婷婷视频 | 欧美热久久 | 午夜视频在线观看一区二区 | 美女视频网| 狠狠综合网 | 天天综合久久 | 国产日本在线观看 | 深爱激情综合 | 亚洲闷骚少妇在线观看网站 | 伊人黄 | 99爱这里只有精品 | 中文字幕观看视频 | 中文字幕在线视频精品 | 久久精品视频国产 | 一区二区精品视频 | 丁香激情综合 | 探花视频在线观看 | 国产区av在线 | 亚洲天堂网视频在线观看 | 色综合久久精品 | 中文字幕一区三区 | 午夜少妇 | 精品视频97 | 在线观看黄色av | av电影在线观看 | 国产精品美女久久久久久久 | 国产美女精彩久久 | 99精品国产亚洲 | av线上看 | 欧美精品成人在线 | 500部大龄熟乱视频使用方法 | av在线观 | 一区二区久久久久 | 制服丝袜在线 | 国产精品专区一 | 91精品在线视频观看 | 国产成人精品一区二区三区在线观看 | 日韩av电影免费观看 | 色网站免费在线看 | 亚洲视频网站在线观看 | 亚洲精选视频在线 | 久久精品视频在线 | 视频在线观看国产 | 天天干天天做天天操 | 亚洲黄色免费网站 | 国产专区欧美专区 | 欧美国产精品一区二区 | 最新av在线网站 | 日韩av电影免费在线观看 | 久草网视频在线观看 | 国产在线国偷精品产拍免费yy | 99精品美女 | 国产在线观看免费av | 欧美一级片在线 | 精品久久99 | 超碰人人在线 | 天天摸日日摸人人看 | 97色综合| 天堂中文在线播放 | 日韩中文字幕网站 | 中文电影网 | 日韩美女久久 | 美女网站在线看 | 亚洲撸撸 | 96超碰在线 | 在线视频欧美精品 | 麻豆视频在线免费看 | 天堂av最新网址 | 97在线成人| 精品国产乱码久久久久久久 | 国产 亚洲 欧美 在线 | 九九视频在线观看视频6 | 99精品国产一区二区 | 国产精品a久久久久 | 国产一区黄色 | 91精品人成在线观看 | 成年人免费看片 | 一区二区精品在线 | 91看片淫黄大片一级在线观看 | 亚洲一二三在线 | 久久久久免费精品 | 国产网红在线观看 | 操久在线| 亚洲电影影音先锋 | 中文在线免费看视频 | 欧美日韩国产一区二 | 久久欧美精品 | 在线日韩中文字幕 | 国产精品网红直播 | 亚洲精品动漫在线 | 国产特级毛片aaaaaa毛片 | 国产美女黄网站免费 | 一区二区久久 | 夜夜操狠狠干 | a午夜在线| 中文在线字幕免费观看 | 亚洲欧美经典 | 一级片在线 | 91香蕉亚洲精品 | 天天艹天天 | 色视频在线观看免费 | 国产一区二区免费 | 国产成人一区二区三区电影 | 中文字幕欧美日韩va免费视频 | 欧美大片aaa| 国产精品欧美一区二区三区不卡 | 免费成人短视频 | 国产精品综合在线 | www.久久免费 | 91在线看视频免费 | 久久理论视频 | 国产精品精品国产婷婷这里av | 久久久久国产成人精品亚洲午夜 | 天堂av免费看| 成人午夜黄色影院 | 日韩电影一区二区在线观看 | 久操中文字幕在线观看 | 色99在线| 欧美日韩1区2区 | 亚洲精品美女久久久久 | 国产一卡在线 | av综合 日韩 | 亚洲精品午夜国产va久久成人 | 精品一区二区在线看 | 在线成人欧美 | 国产精品久久久久免费 | 狠狠躁日日躁夜夜躁av | 午夜精品一区二区三区免费视频 | 激情av在线播放 | 欧美精品一区二区免费 | 国产欧美最新羞羞视频在线观看 | 久久综合激情 | 视频三区在线 | 国产精品永久在线 | 日韩欧美精品在线视频 | 天天操天天射天天操 | 国产美女网站视频 | 国产呻吟在线 | 国产精品二区三区 | 国产精品一区二区免费视频 | 欧美精品乱码久久久久久 | 韩国av免费观看 | 2021国产精品 | 97在线免费观看视频 | 99精品视频免费在线观看 | 亚洲区色 | 日本动漫做毛片一区二区 | 毛片网站观看 | 深夜免费福利网站 | 欧美日韩一区久久 | 国产精品第一页在线观看 | 狠狠的干 | 波多野结衣小视频 | 中文字幕日韩精品有码视频 | 国产精品美女久久久久久久久 | 91精品入口 | 日本69hd| 天天干,夜夜爽 | 亚洲精品视频偷拍 | 天天干天天在线 | 久久综合成人网 | 中文字幕在线成人 | 91人网站| 久久久久免费 | 国产美女精彩久久 | 亚洲 综合 专区 | 日韩欧美电影在线观看 | 网站在线观看你们懂的 | 成人 亚洲 欧美 | 日日操操操 | a级国产毛片 | aaa亚洲精品一二三区 | 日韩精品一区二区三区水蜜桃 | 国产视频精品久久 | 麻豆视频在线免费看 | 在线免费观看视频 | 成人国产网址 | 999国内精品永久免费视频 | 精品一区二区免费视频 | 91视频观看免费 | 国产在线精品区 | 中文一区二区三区在线观看 | 婷婷色站| 国产精品嫩草在线 | 97视频在线免费 | 区一区二在线 | 最近中文字幕在线播放 | 国产在线免费 | 久久久久国产成人精品亚洲午夜 | 九九视频免费在线观看 | 九九久久久久久久久激情 | 日韩精品在线看 | 国产一区二区免费 | 91精品久久久久久久久久入口 | 中日韩男男gay无套 日韩精品一区二区三区高清免费 | 久久综合九色综合欧美狠狠 | 欧美日韩99 | 精品久久久久久久久中文字幕 | 欧美一区二区三区免费观看 | 国产精品高潮呻吟久久av无 | 午夜一级免费电影 | 欧美日韩高清不卡 | 国产精品99久久99久久久二8 | 久久免费黄色 | 日韩黄色一区 | 美女视频久久久 | 五月色丁香| 亚洲五月综合 | 91精品国产自产91精品 | av在线精品| 天天天在线综合网 | 免费在线黄色av | 亚洲日韩精品欧美一区二区 | 久久精品中文字幕一区二区三区 | 一级特黄aaa大片在线观看 | 久久国产精品一国产精品 | 四虎国产精品成人免费4hu | av在线免费在线观看 | 岛国av在线 | 成年免费在线视频 | 毛片久久久| 午夜av不卡| 免费观看成人av | 99电影456麻豆 | 欧美国产日韩一区二区三区 | 欧美日韩高清一区二区 国产亚洲免费看 | 国产不卡免费视频 | 丁香婷婷电影 | 丁香花五月| 国产一区二区在线播放视频 | 精品视频久久久 | 国产精品中文久久久久久久 | 日韩专区在线播放 | 在线观看久久久久久 | 中文字幕 在线看 | 精品视频久久 | 午夜久草| 天天干天天草天天爽 | 9在线观看免费高清完整版 玖玖爱免费视频 | 国产三级国产精品国产专区50 | 99产精品成人啪免费网站 | 国产精品高潮呻吟久久久久 | 国产护士在线 | 96国产在线| 玖玖在线资源 | 国内精品美女在线观看 | 婷婷深爱网 | 国产精品久久久久四虎 | 国产高清在线观看 | 黄免费在线观看 | 国产成人精品久久二区二区 | 91在线操 | 亚洲激色 | 国产成人久久久久 | h网站免费在线观看 | 天天操天天插 | 99久久久久久久久久 | 天天色天 | 久久久久久久网站 | 久久久免费观看完整版 | 日本中出在线观看 | 日韩一级片网址 | 欧美国产日韩一区二区三区 | 国外调教视频网站 | 亚洲一级免费电影 | 99精品系列| 99热这里是精品 | 国产亚洲一级高清 | 五月天亚洲婷婷 | 国产在线精品国自产拍影院 | 国语精品免费视频 | av看片网 | 一区二区三区中文字幕在线观看 | 在线视频1卡二卡三卡 | 天天射天天操天天 | 欧美精品中文 | 婷婷网五月天 | 亚洲精品国精品久久99热一 | 91亚洲激情 | 久草免费福利在线观看 | 91色偷偷 | 国产69久久精品成人看 | 亚洲视屏| 久久狠狠亚洲综合 | 国产网站色 | 日韩精品久久久 | 99久久99久久免费精品蜜臀 | 亚洲成人影音 | 91日韩在线 | 婷婷综合电影 | 大片网站久久 | 亚洲成人影音 | 91黄色小视频 | 午夜神马福利 | 欧洲精品视频一区二区 | 日本一区二区不卡高清 | 欧美午夜性 | 久久精品欧美视频 | 国产精品久久久久久一二三四五 | 九九热在线播放 | 又黄又爽又刺激视频 | 欧美黑人xxxx猛性大交 | 国产涩涩网站 | 麻豆视频在线看 | 久草在线最新免费 | 午夜影院在线观看18 | av黄免费看| 色婷婷综合久久久久中文字幕1 | 日韩免费在线观看 | 国产午夜精品理论片在线 | 国产精品久久久久一区二区国产 | 97超碰在线久草超碰在线观看 | 99久久精品免费看国产 | 亚洲精品国偷拍自产在线观看蜜桃 | 91女神的呻吟细腰翘臀美女 | 美女视频免费一区二区 | 久久99精品一区二区三区三区 | 一区二区三区高清 | 天天操天天操天天操天天操 | 久久午夜视频 | 不卡的一区二区三区 | 精品乱码一区二区三四区 | 国产精品乱看 | 免费激情在线电影 | 在线观看国产永久免费视频 | 日韩精品五月天 | 亚洲成人精品在线 | 操少妇视频| 久久精品看片 | 亚洲欧美999 | 69久久99精品久久久久婷婷 | 一区二区精品久久 | 国产无遮挡又黄又爽馒头漫画 | 91福利社区在线观看 | 人人搞人人干 | 国产又粗又硬又爽的视频 | 亚洲精品国产精品乱码在线观看 | 久久精品香蕉视频 | 成人免费视频视频在线观看 免费 | 日韩伦理片一区二区三区 | 精品一区二区精品 | 国产精品a级 | 午夜久久成人 | 成年人网站免费观看 | 欧美精品一区二区蜜臀亚洲 | 欧美视频二区 | 亚洲欧洲国产视频 | 亚洲不卡123| 中文字幕在线看人 | 国产精品一区二区在线播放 | 懂色av懂色av粉嫩av分享吧 | 久久久99精品免费观看 | 国产欧美三级 | 国产第一页在线观看 | 日韩视频一二三区 | 高清国产一区 | 国产成人av电影在线观看 | 丁香视频在线观看 | 国产123av | 婷婷色社区 | 久久久久亚洲精品成人网小说 | 国产精品一区二区在线观看免费 | 天天躁日日躁狠狠 | 国产一区在线视频观看 | 一区二区三区在线免费观看视频 | 国产精品毛片一区二区在线 | 黄色成年片 | 五月婷婷丁香在线观看 | 麻豆一级视频 | 久久免费国产电影 | 国产亚洲欧美一区 | 国产网红在线 | 久久久久久国产精品久久 | 久久人人爽人人爽人人 | 久草久草久草久草 | 性色av一区二区三区在线观看 | 久久99热这里只有精品国产 | 天天干夜夜爽 | 久久久国产在线视频 | 日韩午夜在线 | 亚洲专区欧美 | 91麻豆精品国产91久久久久 | 香蕉国产91 | 亚洲一区二区精品3399 | 午夜精品一区二区三区视频免费看 | 久久久网 | 亚洲综合在线五月天 | 伊色综合久久之综合久久 | 午夜精品久久久久久 | 91精品久久久久久综合乱菊 | 一区二区三区四区五区在线视频 | 精品久久久一区二区 | av电影在线观看完整版一区二区 | 免费日韩一区 | 欧美精品久久久 | 久久中文字幕视频 | 午夜精品一区二区三区在线 | 99精品亚洲 | 草久在线播放 | 五月天久久精品 | 久久亚洲综合国产精品99麻豆的功能介绍 | 高清免费在线视频 | 国产中文字幕在线视频 | 午夜影院日本 | 狠狠操天天射 | 日韩va欧美va亚洲va久久 | 九九免费在线观看视频 | 色久综合| 精品国产乱码久久 | 黄网站a | 亚洲精品久久久蜜臀下载官网 | 99精品小视频 | 久99久在线视频 | 波多野结衣在线观看一区二区三区 | 激情网色| 在线 精品 国产 | 成人黄色电影在线观看 | 精品二区久久 | 欧美 日韩 成人 | 亚洲女同ⅹxx女同tv | 97网站| 亚洲精品一区二区网址 | 精品99在线视频 | 久久色网站 | 六月色丁香 | 91成人观看 | 久久视精品 | 日韩久久久久久久久久久久 | 亚洲一区二区三区在线看 | 91在线你懂的 | 中文字幕国语官网在线视频 | 国内丰满少妇猛烈精品播 | 九九热视频在线 | 中文字幕在线看 | 91香蕉视频好色先生 | 国产亚洲视频在线免费观看 | 天天草天天 | 国产精品久久嫩一区二区免费 | 天天做日日爱夜夜爽 | 国产视频一区在线 | 欧美日韩不卡在线观看 | 成人中文字幕在线 | 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | 美女视频免费一区二区 | 国产视频在线播放 | 欧美天堂视频在线 |