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

歡迎訪問 生活随笔!

生活随笔

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

python

ctypes python_Python使用Ctypes与C/C++

發布時間:2024/1/23 python 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ctypes python_Python使用Ctypes与C/C++ 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

項目中可能會經常用到第三方庫,主要是出于程序效率考慮和節約開發時間避免重復造輪子。無論第三方庫開源與否,編程語言是否與當前項目一致,我們最終的目的是在當前編程環境中調用庫中的方法并得到結果或者借助庫中的模塊實現某種功能。這個過程會牽涉到很多東西,本篇文章將簡要的介紹一下該過程的一些問題。

1.背景

多語言混合編程可以彌補某一種編程語言在性能表現或者是功能等方面的不足。雖然所有的高級語言都會最終轉換成匯編指令或者最底層的機器指令,但是語言本身之間的千差萬別很難一言以蔽之,這對不同語言之間相互通信造成很大的障礙。

工作中需要用python完成一項功能,但是所有現有的python庫都不滿足需求。最終找到了一個開源的C++庫,編譯得到動態庫被python調用才完成工作需求。雖然整個過程耗時不多,但是期間碰到很多的問題,而且這些問題都很有思考價值。

除了這篇博文外,后續還將有一到兩篇文章通過具體的實例講解一下跨語言調用。

2.問題思考

在進行具體的介紹之前,先來思考一下調用外部庫或者自己實現庫所牽涉的一些一般性的問題。這樣或許實際中操作使用時會理解的更加深刻,遇到問題也能夠逐項的排查。

如果用C語言寫的庫調用了Linux的system call,縱使C本身是跨平臺的,那么該庫也不可能在Window上被使用,即便我們能拿到源碼。這里有兩個核心問題:是否開源

是否跨平臺

如果庫的實現不依賴平臺,且開源,那就意味著很大可能能在當前項目中使用。為什么是可能,因為即使庫的實現語言和當前項目語言一致,也可能因為語言版本差異或者標準迭代導致不兼容。

最差的情況就是只能拿到編譯后的庫文件,且需在特定的平臺運行。

作為庫的開發者,最好是能夠開源且庫的實現不依賴于特定的平臺,這樣才能最大限度的被使用。

作為庫的使用者,最不理想的情況是庫可以在當前平臺使用,但是只能拿到靜態庫或者動態庫,且庫的實現語言和當前項目語言不一致。

多數情況是第三方庫是跨平臺的且能夠拿到源代碼。這樣的話如果兩者的實現語言一致,我們可以直接將第三方庫的代碼移植到當前的項目中;如果實現語言不一致,需要在當前平臺上將庫的源碼編譯出當前平臺上可用的庫文件,然后在當前項目中引用編譯生成的庫文件。

本文將先簡單的介紹在window平臺上,使用python 2.7 自帶的ctypes庫引用標準的C動態庫msvcrt.dll。這里可以先思考以下幾個問題:python可不可以引用靜態庫?

python中怎么拿到DLL導出的函數?

python和C/C++之間的變量的類型怎樣轉換,如果是自定義的類型呢?

怎么處理函數調用約定(calling convention,eg:__cdecl,__stdcall,__thiscall,__fastcall)可能不同的問題?

如果調用DLL庫的過程中出現問題,是我們調用的問題還是庫本身的問題?應該怎樣快速排查和定位問題?

有沒有什么現有的框架能夠幫我們處理python中引用第三方庫的問題呢?

對于自定義的類型(class 和 struct)是否能在python中被引用。

關于函數調用約定,有必要簡單的提一下:

Calling Convention和具體的編程語言無關,是由編譯器、連接器和操作系統平臺這些因素共同決定的。The Visual C++ compilers allow you to specify conventions for passing arguments and return values between functions and callers. Not all conventions are available on all supported platforms, and some conventions use platform-specific implementations. In most cases, keywords or compiler switches that specify an unsupported convention on a particular platform are ignored, and the platform default convention is used.

這是MS的官方解釋。注意最后一句話,表示對于函數調用,在平臺不支持的情況下,語言中指定關鍵字或者編譯器轉換均可能無效。

接下的介紹中來我們將一一回答上面的問題。

3.導入C標準動態庫

先來簡單看一下python中如何引用C的標準動態庫。1 import ctypes, platform, time

2 if platform.system() == 'Windows':

3 libc = ctypes.cdll.LoadLibrary('msvcrt.dll')

4 elif platform.system() == 'Linux':

5 libc = ctypes.cdll.LoadLibrary('libc.so.6')

6 print libc

7 # Example 1

8 libc.printf('%s\n', 'lib c printf function')

9 libc.printf('%s\n', ctypes.c_char_p('lib c printf function with c_char_p'))

10 libc.printf('%ls\n', ctypes.c_wchar_p(u'lib c printf function with c_wchar_p'))

11 libc.printf('%d\n', 12)

12 libc.printf('%f\n', ctypes.c_double(1.2))

13 # Example 2

14 libc.sin.restype = ctypes.c_double

15 print libc.sin(ctypes.c_double(30 * 3.14 / 180))

16 # Example 3

17 libc.pow.restype = ctypes.c_double

18 print libc.pow(ctypes.c_double(2), ctypes.c_double(10))

19 # Example 4

20 print libc.time(), time.time()

21 # Example 5

22 libc.strcpy.restype = ctypes.c_char_p

23 res = 'Hello'

24 print libc.strcpy(ctypes.c_char_p(res), ctypes.c_char_p('World'))

25 print res

接下來我們一一分析上面的這段代碼。

3.1 加載庫的方式

根據當前平臺分別加載Windows和Linux上的C的標準動態庫msvcrt.dll和libc.so.6。

注意這里我們使用的ctypes.cdll來load動態庫,實際上ctypes中總共有以下四種方式加載動態庫:classctypes.CDLL(name, mode=DEFAULT_MODE, handle=None, use_errno=False, use_last_error=False)

classctypes.OleDLL(name, mode=DEFAULT_MODE, handle=None, use_errno=False, use_last_error=False)

classctypes.WinDLL(name, mode=DEFAULT_MODE, handle=None, use_errno=False, use_last_error=False)

classctypes.PyDLL(name, mode=DEFAULT_MODE, handle=None)

關于這幾個加載動態庫的方式區別細節可以參考一下官網的說明,這里僅簡要說明一下。

除了PyDll用于直接調用Python C api函數之外,其他的三個主要區別在于使用的平臺;

被加載動態庫中函數的調用約定(calling convention);

庫中函數假定的默認返回值。

也就是平臺和被加載動態庫中函數的調用約定決定了我們應該使用哪種方式加載動態庫。

本例中我們在windows平臺上使用的是CDLL而不是WinDll,原因是msvcrt.dll中函數調用約定是C/C++默認的調用約定__cdecl。

而WinDll雖然是可以應用于windows平臺上,但是其只能加載標準函數調用約定為__stdcall的動態庫。因此這里只能使用CDLL方式。

可以將上面的CDLL換成WinDll看一下會不會有問題。這里應該能夠對函數調用理解的更加深刻一些了,同時也回答了上面第一小節中我們提問的問題4。

3.2 跨語言類型轉換

這里主要針對第一節提出的問題3。

我們是在python中調用C的函數,函數實參是python類型的變量,函數形參則是C類型的變量,顯然我們將python類型的變量直接賦值給C類型的變量肯定會有問題的。

因此這里需要兩種語言變量類型之間有一一轉換的必要。這里僅僅列出部分對應關系(由于博客園的表格顯示會有問題,因此這樣列出,請見諒):

Python type        Ctypes type          C type

int/long          ? ?c_int             int

float             c_double           double

string or?None        c_char_p           char *?(NUL terminated)

unicode or?None       c_wchar_p          wchar_t *?(NUL terminated)

通過Ctypes type中提供類型,我們建立了一種python類型到c類型的一種轉換關系。

在看一下上面的例子Example 1。在調用C的函數時,我們傳給C函數的實參需要經過Ctypes轉換成C類型之后才能正確的調用C的函數。

3.3 設定C函數的返回類型

看一下上面的例子Example 2.

libc.sin.restype = ctypes.c_double

我們通過restype的方式指定了C(math 模塊)函數sin的返回類型為double,對應到python即為float。顯然函數的返回類型在DLL中是無法獲取的。

開發人員也只能從庫的說明文檔或者頭文件中獲取到函數的聲明,進而指定函數返回值的類型。double sin (double x);

float sin (float x);

long double sin (long double x);

double sin (T x); // additional overloads for integral types

上面是C++11中cmath中sin函數的聲明。這里幾個sin函數是C++中的函數重載。libc.sin(ctypes.c_double(30 * 3.14 / 180))

由于調用之前指定了sin函數的返回類型ctypes.c_double,因此sin的調用結果在python中最終會轉換為float類型。

3.4 假定的函數返回類型

由于我們在動態庫中獲取的函數并不知道其返回類型,因為我們只得到了函數的實現,并沒有函數的聲明。

在沒有指定庫函數返回類型的情況下,ctypes.CDLL和ctyps.WinDll均假定函數返回類型是int,而ctypes.oleDll則假定函數返回值是Windows HRESULT。

那如果函數實際的返回值不是int,便會按照int返回值處理。如果返回類型能轉為int類型是可以的,如果不支持那函數調用的結果會是一個莫名其妙的數字。time_t time (time_t* timer);

上面的例子Example 4則默認將C類型time_t轉為了python 的int類型,結果是正確的。

對于Example 3中我們不僅要指定函數pow的返回類型,還要轉換函數的實參(這里很容易疏忽)。

因此在調用動態庫之前一定要看下函數聲明,指定函數返回類型。

到這里很容易想到可以指定函數的返回值類型,那能不能指定函數形參的類型呢?答案是肯定的,argtypes 。printf.argtypes = [c_char_p, c_char_p, c_int, c_double]

3.5 可變string buffer

上面的例子Exapmle 5中我們調用了C中的一個字符串拷貝函數strcpy,這里函數的返回值和被拷貝的對象均為正確的。

但是這里是故意這樣寫的,因為這里會有一個問題。

如果res = 'Hello'改為res = 'He'和res = 'HelloWorld',那么實際上res的結果會是‘Wo’和'World\x00orld'。str_buf = ctypes.create_string_buffer(10)

print ctypes.sizeof(str_buf)           # 10

print repr(str_buf.raw)           # '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

str_buf.raw = 'Cnblogs'

print repr(str_buf.raw)           # 'Cnblogs\x00\x00\x00'

print repr(str_buf.value)           # 'Cnblogs'

這里我們可以通過ctypes.create_string_buffer來指定一個字符串緩存區。

使用string buffer改寫Example 5:libc.strcpy.restype = ctypes.c_char_p

res = ctypes.create_string_buffer(len('World') + 1)

print libc.strcpy(res, ctypes.c_char_p('World'))

print repr(res.raw), res.value          # 'World\x00' 'World'

注意上面的res的類型是c_char_Array_xxx。這里只是為了介紹string buffer,實際上不會這么用。

3.6 小節

這里簡單的介紹了一下ctypes如何和動態庫打交道。限于篇幅還有指針,引用類型和數組等的傳遞,以及自定義類型等沒有介紹。但是這一小結應該能對python引用動態庫過程有一個大致的認識。

更加詳細信息可以參考官網:ctypes

4. 自定義DLL文件導入

為了更好的理解python調用DLL的過程,有必要了解一下DLL的定義文件。

4.1 C/C++引用DLL

首先,作為對比我們看一下C/C++如何引用DLL文件的。下面的文件是./Project2/Source2.cpp

工程配置為:Conguration Properties>General>Configuration Types: Dynamic Library (.dll)

輸出路徑:./Debug/Project2.dll1 #include

2 #include

3 #include

4

5 #ifdef _MSC_VER

6 #define DLL_EXPORT extern "C" __declspec( dllexport )

7 #else

8 #define DLL_EXPORT

9 #endif

10

11 __declspec(dllexport) char* gl = "gl_str";

12

13 DLL_EXPORT void __stdcall hello_world(void) {

14 printf("%s Hello world!\n", gl);

15 }

16

17 DLL_EXPORT int my_add(int a, int b) {

18 printf("calling my_add@int func\n");

19 return a + b;

20 }

21

22 //DLL_EXPORT double my_add(double a, double b) {

23 // printf("calling my_add@double func\n");

24 // return a + b;

25 //}

26

27 DLL_EXPORT int my_mod(int m, int n) {

28 return m % n;

29 }

30

31 DLL_EXPORT bool is_equal(double a, double b) {

32 return fabs(a - b) < 1e-3;

33 }

34

35 DLL_EXPORT void my_swap(int *p, int *q) {

36 int tmp = *p;

37 *p = *q;

38 *q = tmp;

39 }

40

41 inline void swap_char(char *p, char *q) {

42 char tmp = *p;

43 *p = *q;

44 *q = tmp;

45 }

46

47 DLL_EXPORT void reverse_string(char *const p) {

48 if (p != nullptr) {

49 for (int i = 0, j = strlen(p) - 1; i < j; ++i, --j)

50 swap_char(p + i, p + j);

51 //swap_char(&p[i], &p[j]);

52 }

53 }

下面的文件是./Project1/Source1.cpp

工程配置為:Conguration Properties>General>Configuration Types:Application (.exe)

輸出路徑:./Debug/Project1.exe1 #include "stdio.h"

2 #include "cstdlib"

3 #pragma comment(lib, "../Debug/Project2.lib")

4

5 #ifdef _MSC_VER

6 #define DLL_IMPORT extern "C" __declspec( dllimport )

7 #else

8 #define DLL_IMPORT

9 #endif

10

11 DLL_IMPORT void __stdcall hello_world(void);

12 DLL_IMPORT int my_add(int, int);

13 DLL_IMPORT int my_mod(int, int);

14 DLL_IMPORT bool is_equal(double, double);

15 DLL_IMPORT void my_swap(int*, int*);

16 DLL_IMPORT void reverse_string(char* const);

17

18 __declspec(dllimport) char* gl;

19

20 int main() {

21 int a = 0, b = 1;

22 char s[] = "123456";

23 hello_world();

24 my_swap(&a, &b);

25 reverse_string(s);

26 printf("DLL str gl: %s \n", gl);

27 printf("DLL func my_add: %d\n", my_add(1,2));

28 printf("DLL func my_mod: %d\n", my_mod(9, 8));

29 printf("DLL func my_comp: %s\n", is_equal(1, 1.0001) ? "true":"false");

30 printf("DLL func my_swap: (%d, %d)\n", a, b);

31 printf("DLL func reverse_string: %s\n", s);

32 system("pause");

33 }

上面的這個例子已經清楚的展示了C/C++如何導出和引用DLL文件。有以下幾點需要注意:上面#pragma comment(lib, "../Debug/Project2.lib")中引用的是生成Project2.dll過程中產生的導出庫,并非靜態庫。

__declspec聲明只在Windows平臺用,若是引用靜態庫,則不需要__declspec聲明。

不管動態庫還是靜態庫,除了用#pragma comment引用lib文件外,還可以在Conguration Properties>Linker>Input>Additional Dependencies中添加lib文件。

上面例子中我們導出和引用均聲明了extern "C",表示讓編譯器以C的方式編譯和鏈接文件。意味著導出的函數不支持重載,且函數調用約定為C和C++的默認調用約定__cdecl。

DLL_EXPORT void __stdcall hello_world(void)指定了函數使用__stdcall的Calling Convention,該方式聲明優先于編譯器默認的__cdecl方式。

不同的調用約定不僅會影響實際的函數調用過程,還會影響編譯輸出函數的命名。比如函數hello_world以__cdecl方式和__stdcall方式輸出到DLL中的函數分別為hello_world和_hello_world@0。

4.2 python引用DLL

先使用VS自帶的dumpbin工具看一下Project2.dll文件部分內容:

dumpbin -exports "./Debug/project2.dll"ordinal hint RVA name

1 0 00018000 ?gl@@3PADA

2 1 00011217 _hello_world@0

3 2 00011046 is_equal

4 3 0001109B my_add

5 4 000112D0 my_mod

6 5 00011005 my_swap

7 6 0001118B reverse_string

話不多說,先上代碼:1 import ctypes, platform, time

2 if platform.system() == 'Windows':

3 my_lib = ctypes.cdll.LoadLibrary(r'.\Debug\Project2.dll')

4 # my_lib = ctypes.CDLL(r'.\Debug\Project2.dll')

5 elif platform.system() == 'Linux':

6 my_lib = ctypes.cdll.LoadLibrary('libc.so.6')

7

8 # [C++] __declspec(dllexport) char* gl = "gl_str";

9 print ctypes.c_char_p.in_dll(my_lib, '?gl@@3PADA').value    # result: gl_str

10

11 # [C++] DLL_IMPORT void __stdcall hello_world(void);

12 getattr(my_lib, '_hello_world@0')()    # result: gl_str Hello world!

13

14 # [C++] DLL_IMPORT int my_add(int, int);

15 print my_lib.my_add(1, 2)         # result: 3

16

17 # [C++] DLL_IMPORT int my_mod(int, int);

18 print my_lib.my_mod(123, 200)    # result: 123

19

20 # [C++] DLL_IMPORT void my_swap(int*, int*);

21 a, b = 111, 222

22 pa, pb = ctypes.pointer(ctypes.c_int(a)), ctypes.pointer(ctypes.c_int(b))

23 my_lib.my_swap(pa, pb)

24 print pa.contents.value, pb.contents.value  # result: 222, 111

25 print a, b    # result: 111, 222

26

27 # [C++] DLL_IMPORT bool is_equal(double, double);

28 my_lib.is_equal.restype = ctypes.c_bool

29 my_lib.is_equal.argtypes = [ctypes.c_double, ctypes.c_double]

30 # print my_lib.is_equal(ctypes.c_double(1.0), ctypes.c_double(1.0001))

31 print my_lib.is_equal(1.0, 1.0001)    # result: True

32 print my_lib.is_equal(1.0, 1.0100)    # result: False

33

34 # [C++] DLL_IMPORT void reverse_string(char *const);

35 s = "123456"

36 ps = ctypes.pointer(ctypes.c_char_p(s))

37 print ps.contents    # result: c_char_p('123456')

38 my_lib.reverse_string(ctypes.c_char_p(s))

39 print ps.contents, s  # result: c_char_p('654321') 654321

上面的代碼加上注釋和結果已經很詳細的說明了python引用DLL的過程,限于篇幅,這里就不在贅述。

有一點需要強調,我們使用__stdcall方式聲明函數hello_world方式,并且用CDLL方式引入。導致無法直接用lib.func_name的方式訪問函數hello_world。

如果想要使用my_lib.hello_world的方式調用該函數,只需要使用windll的方式引入DLL,或者使用默認的__cdecl方式聲明hello_world。

5 總結

先來看一下開始提問的問題,部分問題已經在文中說明。

1.python可不可以引用靜態庫?

首先,靜態庫是會在鏈接的過程組裝到可執行文件中的,靜態庫是C/C++代碼。

其次,python是一種解釋性語言,非靜態語言,不需要編譯鏈接。

最后,官網好像沒有提供對應的對接模塊。

5.如果調用DLL庫的過程中出現問題,是我們調用的問題還是庫本身的問題?應該怎樣快速排查和定位問題?

python中怎么定位問題這個不多說。

DLL中的問題可以使用VS的attach to process功能,將VS Attach 到當前運行的python程序,然后調用到DLL,加斷點。

6.有沒有什么現有的框架能夠幫我們處理python中引用第三方庫的問題呢?

常用的有ctypes,swig, cython, boost.python等

7.對于自定義的類型(class 和 struct)是否能在python中被引用。

至少ctypes中沒有相關的操作。

其實也沒必要,因為不僅python中沒有對應的類型,而且完全可以通過將自定義的類或者結構體封裝在DLL輸出的函數接口中進行訪問等操作。

總結:

本文使用python自帶的庫ctypes介紹了如果引用動態庫DLL文件,相對于其他的第三方庫,這是一個相對比較低級的DLL包裝庫。但正是因為這樣我們才能看清楚調用DLL過程的一些細節。使用ctypes過程遇到的每一個錯誤都可能是一個我們未知的知識點,因此建議先熟悉該庫,盡可能深入的了解一下python調用動態庫的過程。其他的庫原理是一樣的,只不過進行了更高級的封裝而已。

總結

以上是生活随笔為你收集整理的ctypes python_Python使用Ctypes与C/C++的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

天堂av在线网站 | 天天干,夜夜操 | 不卡的av在线 | 久久午夜免费观看 | 色激情在线 | avove黑丝| 黄色特一级 | 97精品国产 | 福利久久久 | 玖玖在线资源 | 天天操天天射天天插 | 欧美污网站 | 久久久久久久久国产 | 亚洲精品视频在线免费 | 欧美天天干| 欧美精品久久人人躁人人爽 | 亚洲精品成人网 | 天天操夜夜看 | 91亚色视频在线观看 | 久久久久五月天 | 97色涩| 国产最新精品视频 | 日本黄色大片免费 | 一区二区三区动漫 | 国产成人一区二区啪在线观看 | 丝袜美腿在线视频 | 日韩综合一区二区三区 | 欧美性网站 | 久久国色夜色精品国产 | 五月综合色婷婷 | av不卡中文| 亚洲综合在线播放 | 日韩欧美一区二区三区免费观看 | 成人av网站在线 | 国产a精品| 国产三级午夜理伦三级 | 亚洲精品免费在线观看 | 中文在线免费观看 | 欧美男男激情videos | 国产高清在线 | 六月丁香久久 | 在线观看精品黄av片免费 | 一二三四精品 | 在线精品亚洲一区二区 | 五月天亚洲激情 | 日韩在线欧美在线 | 日韩在线高清视频 | 亚洲欧洲国产日韩精品 | av九九| 在线观看精品一区 | 亚洲精品久久久蜜臀下载官网 | 狠狠的操你 | 亚洲码国产日韩欧美高潮在线播放 | 色多多视频在线观看 | 日韩在线观看一区二区 | 国产成人免费 | 久黄色 | 亚洲黄色在线播放 | 久热电影 | 久久久国产影视 | 999久久国产 | 91精品国产99久久久久 | 久久精品国产免费 | 五月婷婷黄色网 | 成人小视频免费在线观看 | 欧美久久久久久久久久久久久 | 日日夜夜网站 | 精品视频123区在线观看 | 国产精品入口麻豆 | 天天人人综合 | 久久国产露脸精品国产 | 欧美日韩精品在线一区二区 | 91香蕉视频黄色 | 国产精品久久久久久久久久尿 | 亚洲精品视频偷拍 | 久久优| 99久久精品免费视频 | 国产中文字幕国产 | 天天射天天干天天 | 欧美另类视频 | 日韩免费av网址 | 久久伊人八月婷婷综合激情 | 999精品| 日本午夜在线观看 | 天天天操天天天干 | 天天草天天摸 | 91久久一区二区 | 在线免费av电影 | 欧美激情在线看 | 日韩电影在线观看一区二区 | 国产精品18久久久久白浆 | 国产91aaa| 精品国产一区二区三区日日嗨 | 91福利影院在线观看 | 亚洲 精品在线视频 | 久久久网站 | 亚洲欧美乱综合图片区小说区 | 操综合 | 欧美日韩一区二区三区在线观看视频 | 日日躁天天躁 | 欧美a在线免费观看 | 国产香蕉视频在线观看 | 国产精品久久久久久妇 | 91精品专区| 深爱五月激情五月 | 日韩三级在线观看 | 久久理伦片 | 91日韩国产 | www.伊人网 | 国产精品露脸在线 | 岛国av在线不卡 | 欧美性视频网站 | 久久婷婷综合激情 | 99热免费在线 | 日韩超碰 | 免费看国产精品 | 96久久 | 亚洲一级在线观看 | 超碰在线97观看 | 手机av资源 | 国产精品不卡视频 | 免费久久99精品国产 | 天天草天天干天天射 | 手机看片福利 | 99视频精品 | 日本三级不卡视频 | 精品爱爱| 国产成人久久精品一区二区三区 | 天天操天天添天天吹 | 手机在线观看国产精品 | 91精品视频一区 | 久久婷婷精品 | 久久天堂亚洲 | www国产亚洲精品久久麻豆 | 久香蕉| 91原创在线观看 | www.久久色| 福利视频一区二区 | 国产一级片观看 | 中文在线a在线 | 美女福利视频一区二区 | 草草草影院| 国产精品va在线观看入 | 亚洲欧美国产视频 | 日韩在线视频一区 | 亚洲综合色视频在线观看 | 麻豆视频入口 | 在线观看免费版高清版 | 国产91成人| 国产精品成人久久久 | 日韩国产欧美在线播放 | 日批在线看 | 成人av影视在线 | 欧美人体xx| 亚洲三级黄色 | 欧美精品免费一区二区 | 成人av在线电影 | 久久国产一区二区三区 | 久久久精品综合 | 色婷婷播放| 日韩欧美专区 | 久久精品专区 | 一区二区三区在线免费观看视频 | 日韩精品一区电影 | 欧美视频在线观看免费网址 | 久久久久久久久久久久av | 中文字幕乱码日本亚洲一区二区 | 黄色影院在线免费观看 | 日日日视频| 美女黄网站视频免费 | 9i看片成人免费看片 | 在线天堂8√ | 亚洲妇女av | 91理论电影 | 欧美日韩在线观看一区二区三区 | 天天干国产 | 国产精品美女视频网站 | 视频直播国产精品 | a√天堂中文在线 | 亚洲国产成人在线观看 | 亚洲日本韩国一区二区 | 韩国在线视频一区 | 欧美日韩在线视频一区二区 | 日韩乱码中文字幕 | 精品视频一区在线 | 精品国产自在精品国产精野外直播 | 中文字幕乱在线伦视频中文字幕乱码在线 | 免费av网站在线看 | 国产美女精品视频免费观看 | 成人毛片在线视频 | 人成在线免费视频 | 免费看搞黄视频网站 | 久久综合久久综合久久 | 操老逼免费视频 | 在线观看岛国片 | 成人一级影视 | 探花视频在线观看 | 国产精品久久久久四虎 | 久久久国产精品一区二区中文 | 激情五月婷婷 | 99在线免费观看视频 | 超碰国产在线观看 | 中文字幕在线观看第二页 | 天天干天天做 | 日韩av在线影视 | 丁香激情五月婷婷 | 超碰人人干人人 | 日韩精品在线观看av | 午夜视频欧美 | 美女网站视频免费黄 | www.日韩免费| 天天干天天操天天爱 | 中文字幕一区在线观看视频 | 精品女同一区二区三区在线观看 | 黄色av成人在线观看 | 狠狠网| www九九热 | 久久久久成 | 久久久久国 | 九九欧美视频 | 最新国产精品视频 | 国产精品1区2区 | 午夜精品视频在线 | 亚洲精品一区二区精华 | 日本成人免费在线观看 | 99热精品免费观看 | 成人a免费 | www.色com | 成人v| 香蕉免费在线 | 99久久国产免费,99久久国产免费大片 | 婷婷中文字幕 | 亚洲成人免费 | 91视频91蝌蚪 | 国产一区二区在线观看免费 | 国产黄色免费在线观看 | 久草视频在线资源站 | 国产精品网红直播 | 五月婷亚洲 | 婷婷5月色| 西西人体www444| 国产成人一区二区啪在线观看 | 日日综合网 | 国产视频久久久久 | 久久你懂的 | 91视频亚洲| 日韩免费看的电影 | 日韩免费在线观看视频 | 天天射天天射天天 | 中文字幕2021 | 一级特黄aaa大片在线观看 | 精品理论片 | 夜夜操天天干 | 成人黄色免费在线观看 | 日本中文字幕高清 | 伊人干综合 | 亚洲精品一区二区在线观看 | 精品女同一区二区三区在线观看 | 麻豆 91 在线 | 久久成人精品 | 亚洲成人一二三 | 亚洲在线 | 久草在线视频网站 | 国产精品网址在线观看 | 久久视频6| 丝袜美腿亚洲 | 久久爱资源网 | 美女网站视频一区 | 日本精品久久久久中文字幕5 | 久久综合婷婷国产二区高清 | av韩国在线 | 亚洲精品999 | 亚洲在线视频观看 | 欧美一区二区在线看 | 亚洲毛片视频 | 成年人看片网站 | 国产精品久久99精品毛片三a | 亚洲综合激情网 | 深夜免费网站 | 久久久久久久久久久网 | 国产日韩精品一区二区在线观看播放 | 四川妇女搡bbbb搡bbbb搡 | 国产精品午夜在线观看 | 欧美日本高清视频 | 婷婷色六月天 | 久久久久久久电影 | 免费观看黄 | 91在线视频免费观看 | 久久乐九色婷婷综合色狠狠182 | 欧美激情第一页xxx 午夜性福利 | 久久久久久久久久免费 | 五月天av在线 | 国产精品欧美久久久久无广告 | 亚洲黄在线观看 | 国产欧美最新羞羞视频在线观看 | 国产成人综合精品 | 中文免费 | 一区二区三区免费在线观看视频 | 亚洲黄色在线免费观看 | 久久久久久99精品 | 天天看天天干天天操 | 在线观看av不卡 | 色婷婷国产精品一区在线观看 | 天天操天天操天天操天天 | 国产黑丝一区二区 | 国产美女视频免费观看的网站 | 国产在线第三页 | 最近久乱中文字幕 | 亚洲91视频 | 午夜手机电影 | 99热这里精品 | 在线亚洲观看 | 欧美日韩高清在线观看 | 免费日韩电影 | 中文字幕 国产 一区 | 久草精品电影 | 99视频在线免费观看 | 国产精品国产亚洲精品看不卡 | 国产精品a久久 | 亚洲 欧美日韩 国产 中文 | 日韩高清不卡一区二区三区 | 麻豆94tv免费版 | 丁香六月婷婷开心婷婷网 | 日韩素人在线观看 | 国产精品一区二区av | 亚洲精品午夜aaa久久久 | 永久免费av在线播放 | 亚洲国产三级在线 | 最近中文字幕免费av | 欧美精品首页 | 欧美性色19p| 日本久热 | 午夜av在线播放 | 黄在线免费观看 | av天天草| 日韩av午夜 | 五月精品 | 亚洲精品在线免费看 | 国产91在线免费视频 | 国产免费人人看 | 操久| 色综合久| 国产亚洲精品久 | 久久久高清免费视频 | 欧美黄色特级片 | 97精品国产91久久久久久 | 久久久久久欧美二区电影网 | 黄色av播放 | 亚洲精品在线观看av | 国产成人a亚洲精品v | 国产精品地址 | 中文有码在线视频 | 国产69精品久久99的直播节目 | av超碰免费在线 | 国产手机免费视频 | 婷婷在线五月 | 国产97在线观看 | 成片免费观看视频大全 | 亚洲性少妇性猛交wwww乱大交 | 欧美精品成人在线 | 亚洲国产手机在线 | 一本—道久久a久久精品蜜桃 | av免费看在线 | 最近中文字幕完整高清 | 五月天激情在线 | 日韩在线网 | 美女视频久久黄 | 黄色大片日本免费大片 | 亚洲精品综合久久 | 国产精品久久久久久久久久直播 | 99久久久久久 | 国产精品6999成人免费视频 | 久久久天堂| 国产免费美女 | 日韩在线无 | 九九交易行官网 | 色小说在线 | 啪啪av在线 | 国产91在线免费视频 | 国产视频九色蝌蚪 | 成片免费| 精品视频免费 | 中文字幕丝袜美腿 | 国产成人一区二区三区免费看 | 91九色在线播放 | 国偷自产中文字幕亚洲手机在线 | 久久99久久99久久 | 一区二区三区免费看 | 99精品在这里 | 欧美无极色 | 婷婷激情在线观看 | 日韩欧美综合在线视频 | 91成人精品国产刺激国语对白 | 成人宗合网 | av中文字幕在线播放 | 五月综合网站 | 午夜精品av | 国产成人精品久久二区二区 | 国产高清福利在线 | 国产在线精品播放 | 91av视频播放 | 国产一区欧美一区 | 久久精品视频免费观看 | 综合网婷婷 | 99热超碰在线| 久99久在线视频 | 九九综合九九 | 色婷婷97 | 美女视频黄免费的久久 | 天操夜夜操 | 亚洲精品久久久蜜桃直播 | 日韩a在线播放 | 免费在线观看日韩欧美 | 国产又粗又猛又爽又黄的视频先 | 久草网免费 | 高清av免费看 | 亚洲三级性片 | 96国产在线 | 日韩草比| 精品亚洲男同gayvideo网站 | 超碰伊人网 | av黄色免费网站 | 成人激情开心网 | 久久国产精品色婷婷 | 日本黄色片一区二区 | 日韩精品极品视频 | caobi视频| 亚洲精品一区二区三区高潮 | 国产精品18videosex性欧美 | 丰满少妇高潮在线观看 | 久草网免费 | 曰韩精品| 亚洲情婷婷 | 久久精品国产亚洲aⅴ | 精品久久久久久国产91 | 婷婷5月色| 狠狠久久伊人 | 欧美一区二区在线 | 深爱开心激情网 | 亚洲精品a区 | 国产中文欧美日韩在线 | 99热最新地址 | 国产精品免费久久久 | 国产综合小视频 | 亚洲区视频在线观看 | 人成免费网站 | 91在线视频精品 | 91麻豆国产福利在线观看 | 日韩黄色在线电影 | 亚洲国产精品人久久电影 | 国产高清视频在线免费观看 | 亚洲精选国产 | 免费观看性生活大片3 | 久久免费精品国产 | 免费看一级特黄a大片 | 精品久久九九 | 日韩视频一区二区在线观看 | 91人人人| 亚洲精选久久 | 日韩久久网站 | 欧美一性一交一乱 | 91视频-88av| 国产精品丝袜久久久久久久不卡 | 五月婷婷天堂 | 超碰97国产 | 香蕉在线视频播放网站 | 日韩视频免费看 | 国产亚洲成av人片在线观看桃 | 91精品第一页 | 天天操天天色天天射 | 亚洲成人影音 | 国产一区二区日本 | 天天色中文 | 久久亚洲视频 | 国产一区精品在线 | 日韩视频精品在线 | adn—256中文在线观看 | 制服丝袜欧美 | 色综合激情网 | 久久久综合九色合综国产精品 | 国产中文字幕在线看 | 色婷婷综合在线 | 天天射天天干天天爽 | 一区二区三区韩国免费中文网站 | 亚洲视频axxx | 欧美日韩网站 | 天天天天爱天天躁 | 国产玖玖视频 | 久久精品亚洲一区二区三区观看模式 | 亚洲色图美腿丝袜 | 欧美日韩视频免费 | 美女免费视频一区二区 | 久久黄色美女 | 日本性久久 | 色福利网 | 久久这里只有精品9 | 丁香六月综合网 | 亚洲小视频在线观看 | 久久在线观看视频 | 综合av在线| 国产在线2020| 狠狠干综合 | 色多多视频在线 | 国产综合精品一区二区三区 | 日韩精品久久久久久久电影99爱 | 日韩av在线高清 | 99久久久国产精品免费观看 | 在线视频a| 九色91福利| 国产久视频 | 精品福利在线观看 | 欧美极度另类性三渗透 | 日韩网站在线免费观看 | 精品美女在线观看 | 六月激情丁香 | 狠狠干天天操 | 亚州免费视频 | 久久免费视频1 | 久久99久国产精品黄毛片入口 | 精品一区二区6 | 久久精品一区二区三区国产主播 | 在线免费观看黄色小说 | 亚洲在线 | 夜夜操天天干, | 日韩在线高清视频 | 免费视频 三区 | 97视频免费看 | 999久久久久久 | 日韩av一区二区在线 | 一区二区av | 国产精品午夜在线观看 | 亚洲电影在线看 | 国产精品女教师 | 不卡视频一区二区三区 | 永久免费看av | 久久免费观看视频 | 日韩精品一区二区在线观看 | 中文字幕 国产精品 | www.黄色片网站 | 麻豆久久一区二区 | 婷婷av网 | 国产免费一区二区三区最新6 | 蜜桃av人人夜夜澡人人爽 | 黄色网址a| 欧美成人999 | 亚洲区视频在线观看 | 国内综合精品午夜久久资源 | 精品国精品自拍自在线 | 香蕉色综合 | 丝袜美女在线观看 | 国产真实在线 | 97超碰人人澡人人 | 欧美一级片在线免费观看 | 午夜丰满寂寞少妇精品 | 欧美另类调教 | 国产成人a亚洲精品 | 伊人色**天天综合婷婷 | 亚洲自拍偷拍色图 | 久久免费av电影 | 国产录像在线观看 | 久草在线费播放视频 | 91亚色免费视频 | 国产一区网址 | 中文字幕亚洲精品日韩 | 国产成人一二片 | 国产不卡网站 | 天天干.com | 99色在线视频 | 午夜久久 | 婷婷色吧 | 国产精品不卡视频 | 九九一级片 | 毛片网站免费在线观看 | 亚洲黄色区 | 国产在线精品区 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 久久美女视频 | 五月天六月婷 | 久久av中文字幕片 | 亚洲成人影音 | 麻花豆传媒一二三产区 | 久草网首页 | 国语精品视频 | 热久久视久久精品18亚洲精品 | 免费看污网站 | 深爱五月激情五月 | 欧美一级性生活视频 | 国产91九色视频 | 成人网页在线免费观看 | 久久再线视频 | 欧美日韩成人一区 | 五月婷视频| 欧美91精品国产自产 | 色综合久久99 | 一区二区三区在线看 | 色资源中文字幕 | 91精品国自产在线偷拍蜜桃 | 99久久久久国产精品免费 | 国产剧在线观看片 | 黄色三级av | 免费看十八岁美女 | 男女精品久久 | 96av在线| 九九久| 综合网中文字幕 | 精品一区二区在线免费观看 | 免费看片网址 | 亚州国产精品 | 欧美狠狠色 | 精品国产亚洲日本 | 亚洲精品久久久久999中文字幕 | 激情五月婷婷综合网 | 午夜视频在线瓜伦 | 99精品免费久久久久久久久 | 国产一区二区三区四区大秀 | 玖玖视频 | 欧美精品久久久久久久免费 | 国产精品第10页 | 国产成人精品三级 | 人人干天天干 | 在线观看的黄色 | 精品一区二区日韩 | 亚洲美女在线国产 | 黄av免费 | 国产黄色大全 | 免费在线黄网 | 91成人在线观看高潮 | 久久精品毛片基地 | 免费看精品久久片 | 久久国产精品第一页 | 欧美日韩免费在线视频 | 久久综合九色综合久久久精品综合 | 麻豆精品传媒视频 | 麻豆极品| 日本久久电影 | 国产xx视频| 国产成人福利在线观看 | 国产69久久 | 国产黄色一级片 | 亚洲国产日本 | 一区二区三区高清在线观看 | 97热在线观看 | 99热99| 欧美日韩国产一区二区三区 | 欧美片网站yy | 国产精品久久久久久久av电影 | 在线观看涩涩 | 国产手机在线精品 | 伊人婷婷综合 | 在线色资源 | 日韩av高清 | 欧美美女激情18p | 久久97超碰 | 国产一区久久久 | 91日韩免费| 午夜的福利 | 日本中文在线观看 | 少妇搡bbb | 日韩中文字幕国产 | 日韩av在线看 | 国产午夜精品一区二区三区 | 久久观看免费视频 | 中文字幕三区 | 嫩草av在线 | 黄色99视频 | 四虎在线免费观看视频 | 日韩国产在线观看 | 91黄色在线看 | 美女网站在线观看 | 久99久精品视频免费观看 | 国产免费av一区二区三区 | 久久久久免费精品国产小说色大师 | 狠狠干在线 | 成人黄色毛片视频 | 一区二区三区视频 | 97国产超碰在线 | 精品国产免费看 | 中文字幕久久亚洲 | 91av在线不卡 | 久久婷婷视频 | 国产精品 日本 | 久久综合精品国产一区二区三区 | 日日夜夜操操操操 | 久草在线资源观看 | 亚洲国产日韩av | 亚洲精品视频在线观看免费视频 | 久久99精品一区二区三区三区 | 69av视频在线观看 | 日韩高清片 | 久久免费福利视频 | 国产精品初高中精品久久 | 操操日日 | 日韩高清免费无专码区 | 国产精品视频免费在线观看 | 天天爽天天爽天天爽 | 偷拍久久久 | 成人一级黄色片 | 夜夜夜草 | 高清不卡免费视频 | 亚洲精品资源在线 | 国产精品视频大全 | 欧美午夜视频在线 | 色网站中文字幕 | 久草精品视频在线观看 | 久久不卡av | 欧美一区三区四区 | 国产精品黄色 | 欧美久久电影 | 制服丝袜在线 | 色丁香久久 | 久草久| 久热久草 | av不卡免费看 | 亚洲日本激情 | 人人爽人人爽人人片av | 91精品视频一区二区三区 | 狠狠色丁香婷婷综合久久片 | 99中文在线 | 麻豆va一区二区三区久久浪 | 免费网站污 | 在线观看视频中文字幕 | 欧美日韩久久一区 | 麻豆视传媒官网免费观看 | 欧美一级日韩免费不卡 | 欧美激情精品久久 | 亚洲电影成人 | 久久亚洲人 | 天天爱天天射天天干天天 | 亚洲欧美日韩一区二区三区在线观看 | 成年人免费看av | 国产精品一区二区白浆 | 国产成人一区在线 | 人人爽夜夜爽 | 99久久日韩精品免费热麻豆美女 | 91大神免费在线观看 | 午夜久久美女 | 成人av免费在线播放 | 日韩色在线 | 99精品一级欧美片免费播放 | 精品日韩中文字幕 | 欧美三级在线播放 | 国产小视频在线免费观看视频 | 黄色影院在线免费观看 | 色综合天 | 男女全黄一级一级高潮免费看 | 欧美精品色 | 欧美一区二区免费在线观看 | 日韩一二区在线 | 人人看人人爱 | 色婷婷精品大在线视频 | 国产一级免费片 | 4p变态网欧美系列 | 怡红院av久久久久久久 | 亚洲精品国产精品国自产 | av在线网站大全 | 成人网在线免费视频 | 在线观看视频中文字幕 | 色婷婷婷| 免费在线国产 | 国产 成人 久久 | 综合色中色 | 激情影音 | 婷婷av在线 | 亚洲精品视频免费观看 | 国产精品久久久久久久久久久久午夜 | 久久视频国产精品免费视频在线 | 日韩欧美在线综合网 | 国产高清精品在线观看 | 久久久香蕉视频 | 成人精品一区二区三区电影免费 | 蜜臀av性久久久久av蜜臀妖精 | 涩涩网站在线看 | 成人在线视频免费看 | 亚洲最大成人免费网站 | 久久久精品国产一区二区 | 日韩av高潮 | 国产亚洲人成网站在线观看 | 手机看片99| 成年人免费在线播放 | 丁香六月婷婷综合 | 亚洲综合视频在线 | 综合黄色网 | 福利视频午夜 | 久久久久久伊人 | 久久久亚洲精华液 | 91传媒在线观看 | 国产亚洲精品久久久久久网站 | .国产精品成人自产拍在线观看6 | 91精品国产91久久久久福利 | 另类老妇性bbwbbw高清 | 欧洲一区二区在线观看 | 一区三区视频在线观看 | 91久草视频 | 婷婷激情五月综合 | 久久久久久蜜av免费网站 | 欧美最猛性xxxxx免费 | 国产精品毛片一区视频 | 国产中文字幕网 | 丁香婷婷综合网 | 日韩久久久久久久久久 | 中文字幕一区二区三区四区久久 | 午夜 免费 | 久久久www成人免费毛片 | 中文字幕一区二区三区在线播放 | 美女黄频视频大全 | 免费试看一区 | 免费a视频在线观看 | 国产老妇av | 久久99视频精品 | 久草视频免费在线观看 | 国产精品久久精品国产 | 五月开心激情 | 免费三级黄| 精品久久久久久亚洲综合网 | 日韩美在线观看 | 99r在线精品| 欧美日在线观看 | 日韩高清免费无专码区 | 国产 一区二区三区 在线 | 91女子私密保健养生少妇 | 人人狠狠综合久久亚洲婷 | 在线视频观看成人 | 久久综合射| 婷婷六月综合亚洲 | 亚洲日韩欧美一区二区在线 | 国产精品二区在线观看 | 国产偷国产偷亚洲清高 | 五月天婷婷在线观看视频 | 日本三级在线观看中文字 | 综合久久久久 | 欧美日韩另类在线 | 欧美激情精品久久久久久变态 | 国产亚洲婷婷免费 | 日韩美女黄色片 | 成人免费在线视频观看 | 国产99一区 | 久久婷婷精品视频 | 国产淫片免费看 | www久草| 久久8精品| 日本中文字幕视频 | 中文字幕中文字幕在线中文字幕三区 | 日韩精品一区二区在线视频 | 日日爽夜夜操 | 国产成人性色生活片 | 天天操天天射天天操 | 国产一区二区三区视频在线 | 久久国产午夜精品理论片最新版本 | 91看片麻豆 | 欧美日韩伦理一区 | 国产精品久久网 | 成人在线电影观看 | 久久久久久国产精品久久 | 伊人春色电影网 | 亚洲aⅴ在线观看 | 亚洲撸撸 | 97视频播放| 亚洲国产精品日韩 | 国产高清av | 国产麻豆精品久久一二三 | 久久人人爽人人片 | 久久久久中文 | 国产美女在线免费观看 | 91视频久久久久 | 少妇bbbb搡bbbb桶 | 96久久欧美麻豆网站 | 国产一二区免费视频 | 亚洲激情六月 | 9999在线观看 | www黄色| 91av视频导航| 超碰在线99| 色婷婷福利 | 欧美成人手机版 | 欧美精品乱码久久久久久 | 亚洲精品ww | 亚洲精品在线观看网站 | 五月婷婷综合激情网 | 天天综合婷婷 | 成人免费视频免费观看 | 青草视频在线看 | 成人午夜电影免费在线观看 | 成人四虎影院 | 国产精品第2页 | 怡红院成人在线 | www.香蕉视频在线观看 | 国产精品毛片久久久久久 | 久操中文字幕在线观看 | 黄色电影小说 | 中文字幕在线视频精品 | 国产精品久久久久国产精品日日 | 91久久奴性调教 | 久久经典国产 | 青青草在久久免费久久免费 | 国产原创av在线 | 日本久久视频 | 日日精品 | 亚洲精品久久久蜜臀下载官网 | 亚洲精品在线电影 | 97狠狠干 | 国产视频 亚洲视频 | av电影在线免费观看 | 91视频高清 | 在线国产视频 | 特级西西www44高清大胆图片 | 91麻豆精品国产91久久久久久 | 日韩精品无 | 久操视频在线免费看 | 久久久午夜剧场 | 亚洲一区二区三区精品在线观看 | 日韩中文字幕免费看 | 国产一线二线三线性视频 | 色五月色开心色婷婷色丁香 | 天天干天天操天天爱 | 麻豆久久久 | 亚洲视频一区二区三区在线观看 | 国产精品久久久久久久免费观看 | 国产精品专区h在线观看 | 婷婷国产视频 | 中文字幕第一页在线播放 | av电影免费在线看 | 亚洲精品免费在线观看 | 五月婷婷六月综合 | 日韩毛片在线一区二区毛片 | 国产黄大片在线观看 | 999视频在线播放 | 91久久久久久久一区二区 | www.com黄| 亚洲涩涩色 | 激情丁香综合五月 | 六月激情久久 | 人人搞人人爽 | 久草电影免费在线观看 | 免费人人干 | www.夜夜骑.com | 韩国一区二区三区视频 | 日韩电影在线视频 | 在线99热 | 亚洲欧美激情插 | 亚洲欧美日韩精品久久久 | 中文字幕视频免费观看 | 蜜臀久久99精品久久久久久网站 | 亚洲国产精品一区二区久久,亚洲午夜 | 丁香五月缴情综合网 | 亚洲激情一区二区三区 | 色婷婷狠狠18 | 91高清免费在线观看 | www视频免费在线观看 | 免费电影一区二区三区 | 西西444www大胆高清图片 | av在线收看 | 久久刺激视频 | 美女网站在线观看 | 亚洲va欧美va国产va黑人 | 久久99久久99精品免观看软件 | 草樱av| 久久色网站 | 中文字幕一区二区三区乱码在线 | 最近免费中文视频 | 久久久久久久久久影视 | 久久精品国产亚洲精品2020 | 亚洲一级电影视频 | www.亚洲精品视频 | 亚洲一区二区三区精品在线观看 | 天天天天射 | 天天综合亚洲 | 97精品国产91久久久久久久 | 激情欧美国产 | 91社区国产高清 | 国产精品色婷婷视频 | 天天草天天爽 | 免费看黄色小说的网站 | 免费三级在线 | 午夜精品久久久久久久久久久久 | 免费在线观看一区 | 亚洲aⅴ乱码精品成人区 | 激情五月开心 | 亚洲综合导航 | 成人动漫一区二区三区 | 在线播放 亚洲 | 97看片网| 国产 色 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 四虎www | 日韩和的一区二在线 | 久久久伦理 | 亚洲午夜久久久久久久久 | 国产亚洲精品综合一区91 | 欧美激情精品久久久久久免费印度 | 亚洲日b视频 | 成人91在线 | 99欧美视频 | 99久久电影| 在线影院中文字幕 | 91av观看 | 欧美a√大片 | 日韩v欧美v日本v亚洲v国产v | 国产精品a久久 |