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

歡迎訪問 生活随笔!

生活随笔

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

c/c++

C和C++混合编程(__cplusplus使用)

發布時間:2023/12/20 c/c++ 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C和C++混合编程(__cplusplus使用) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第一種理解
比如說你用C++開發了一個DLL庫,為了能夠讓C語言也能夠調用你的DLL輸出(Export)的函數,你需要用extern "C"來強制編譯器不要修改你的

函數名。

通常,在C語言的頭文件中經常可以看到類似下面這種形式的代碼:

#ifdef __cplusplus

extern "C" {

#endif

/**** some declaration or so *****/

#ifdef __cplusplus

? }

#endif /* end of __cplusplus */

那么,這種寫法什么用呢?實際上,這是為了讓CPP能夠與C接口而采用的一種語法形式。之所以采用這種方式,是因為兩種語言之間的一些差

異所導致的。由于CPP支持多態性,也就是具有相同函數名的函數可以完成不同的功能,CPP通常是通過參數區分具體調用的是哪一個函數。在

編譯的時候,CPP編譯器會將參數類型和函數名連接在一起,于是在程序編譯成為目標文件以后,CPP編譯器可以直接根據目標文件中的符號名

將多個目標文件連接成一個目標文件或者可執行文件。但是在C語言中,由于完全沒有多態性的概念,C編譯器在編譯時除了會在函數名前面添

加一個下劃線之外,什么也不會做(至少很多編譯器都是這樣干的)。由于這種的原因,當采用CPP與C混合編程的時候,就可能會出問題。假

設在某一個頭文件中定義了這樣一個函數:

int foo(int a, int b);

而這個函數的實現位于一個.c文件中,同時,在.cpp文件中調用了這個函數。那么,當CPP編譯器編譯這個函數的時候,就有可能會把這個函數

名改成_fooii,這里的ii表示函數的第一參數和第二參數都是整型。而C編譯器卻有可能將這個函數名編譯成_foo。也就是說,在CPP編譯器得

到的目標文件中,foo()函數是由_fooii符號來引用的,而在C編譯器生成的目標文件中,foo()函數是由_foo指代的。但連接器工作的時候,它

可不管上層采用的是什么語言,它只認目標文件中的符號。于是,連接器將會發現在.cpp中調用了foo()函數,但是在其它的目標文件中卻找不

到_fooii這個符號,于是提示連接過程出錯。extern "C" {}這種語法形式就是用來解決這個問題的。本文將以示例對這個問題進行說明。

首先假設有下面這樣三個文件:

/* file: test_extern_c.h */

#ifndef __TEST_EXTERN_C_H__

#define __TEST_EXTERN_C_H__

#ifdef __cplusplus

extern "C" {

#endif

/*

* this is a test function, which calculate

* the multiply of a and b.

*/

extern int ThisIsTest(int a, int b);

#ifdef __cplusplus

? }

#endif /* end of __cplusplus */

#endif

在這個頭文件中只定義了一個函數,ThisIsTest()。這個函數被定義為一個外部函數,可以被包括到其它程序文件中。假設ThisIsTest()函數

的實現位于test_extern_c.c文件中:

/* test_extern_c.c */

#include "test_extern_c.h"

int ThisIsTest(int a, int b)

{

? return (a + b);

}

可以看到,ThisIsTest()函數的實現非常簡單,就是將兩個參數的相加結果返回而已。現在,假設要從CPP中調用ThisIsTest()函數:

/* main.cpp */

#include "test_extern_c.h"

#include <stdio.h>

#include <stdlib.h>

class FOO {

? public:

? int bar(int a, int b)

??? {

??????? printf("result=%i\n", ThisIsTest(a, b));

??? }

};

int main(int argc, char **argv)

{

? int a = atoi(argv[1]);

? int b = atoi(argv[2]);

? FOO *foo = new FOO();

? foo->bar(a, b);

? return(0);

}

在這個CPP源文件中,定義了一個簡單的類FOO,在其成員函數bar()中調用了ThisIsTest()函數。下面看一下如果采用gcc編譯test_extern_c.c

,而采用g++編譯main.cpp并與test_extern_c.o連接會發生什么情況:

[cyc@cyc src]$ gcc -c test_extern_c.c

[cyc@cyc src]$ g++ main.cpp test_extern_c.o

[cyc@cyc src]$ ./a.out 4 5??????????

result=9

可以看到,程序沒有任何異常,完全按照預期的方式工作。那么,如果將test_extern_c.h中的extern "C" {}所在的那幾行注釋掉會怎樣呢?

注釋后的test_extern_c.h文件內容如下:

/* test_extern_c.h */

#ifndef __TEST_EXTERN_C_H__

#define __TEST_EXTERN_C_H__

//#ifdef?? __cplusplus

//extern "C" {

//#endif

/*

/* this is a test function, which calculate

* the multiply of a and b.

*/

extern int ThisIsTest(int a, int b);

//#ifdef?? __cplusplus

// }

//#endif?? /* end of __cplusplus */

#endif

之外,其它文件不做任何的改變,仍然采用同樣的方式編譯test_extern_c.c和main.cpp文件:

[cyc@cyc src]$ gcc -c test_extern_c.c

[cyc@cyc src]$ g++ main.cpp test_extern_c.o

/tmp/cca4EtJJ.o(.gnu.linkonce.t._ZN3FOO3barEii+0x10): In function `FOO::bar(int, int)':

: undefined reference to `ThisIsTest(int, int)'

collect2: ld returned 1 exit status

在編譯main.cpp的時候就會出錯,連接器ld提示找不到對函數ThisIsTest()的引用。

為了更清楚地說明問題的原因,我們采用下面的方式先把目標文件編譯出來,然后看目標文件中到底都有些什么符號:

[cyc@cyc src]$ gcc -c test_extern_c.c??

[cyc@cyc src]$ objdump -t test_extern_c.o

test_extern_c.o:?? file format elf32-i386

SYMBOL TABLE:

00000000 l?? df *ABS* 00000000 test_extern_c.c

00000000 l?? d .text 00000000

00000000 l?? d .data 00000000

00000000 l?? d .bss?? 00000000

00000000 l?? d .comment???? 00000000

00000000 g?? F .text 0000000b ThisIsTest

[cyc@cyc src]$ g++ -c main.cpp??????

[cyc@cyc src]$ objdump -t main.o??????

main.o:?? file format elf32-i386

MYMBOL TABLE:

00000000 l?? df *ABS* 00000000 main.cpp

00000000 l?? d .text 00000000

00000000 l?? d .data 00000000

00000000 l?? d .bss?? 00000000

00000000 l?? d .rodata???? 00000000

00000000 l?? d .gnu.linkonce.t._ZN3FOO3barEii 00000000

00000000 l?? d .eh_frame???? 00000000

00000000 l?? d .comment???? 00000000

00000000 g?? F .text 00000081 main

00000000?????? *UND* 00000000 atoi

00000000?????? *UND* 00000000 _Znwj

00000000?????? *UND* 00000000 _ZdlPv

00000000 w?? F .gnu.linkonce.t._ZN3FOO3barEii 00000027 _ZN3FOO3barEii

00000000?????? *UND* 00000000 _Z10ThisIsTestii

00000000?????? *UND* 00000000 printf

00000000?????? *UND* 00000000 __gxx_personality_v0

可以看到,采用gcc編譯了test_extern_c.c之后,在其目標文件test_extern_c.o中的有一個ThisIsTest符號,這個符號就是源文件中定義的

ThisIsTest()函數了。而在采用g++編譯了main.cpp之后,在其目標文件main.o中有一個_Z10ThisIsTestii符號,這個就是經過g++編譯器“粉

碎”過后的函數名。其最后的兩個字符i就表示第一參數和第二參數都是整型。而為什么要加一個前綴_Z10我并不清楚,但這里并不影響我們的

討論,因此不去管它。顯然,這就是原因的所在,其原理在本文開頭已作了說明。

那么,為什么采用了extern "C" {}形式就不會有這個問題呢,我們就來看一下當test_extern_c.h采用extern "C" {}的形式時編譯出來的目標

文件中又有哪些符號:

[cyc@cyc src]$ gcc -c test_extern_c.c

[cyc@cyc src]$ objdump -t test_extern_c.o

test_extern_c.o:?? file format elf32-i386

SYMBOL TABLE:

00000000 l?? df *ABS* 00000000 test_extern_c.c

00000000 l?? d .text 00000000

00000000 l?? d .data 00000000

00000000 l?? d .bss?? 00000000

00000000 l?? d .comment???? 00000000

00000000 g?? F .text 0000000b ThisIsTest

[cyc@cyc src]$ g++ -c main.cpp

[cyc@cyc src]$ objdump -t main.o

main.o:?? file format elf32-i386

SYMBOL TABLE:

00000000 l?? df *ABS* 00000000 main.cpp

00000000 l?? d .text 00000000

00000000 l?? d .data 00000000

00000000 l?? d .bss?? 00000000

00000000 l?? d .rodata???? 00000000

00000000 l?? d .gnu.linkonce.t._ZN3FOO3barEii 00000000

00000000 l?? d .eh_frame???? 00000000

00000000 l?? d .comment???? 00000000

00000000 g?? F .text 00000081 main

00000000?????? *UND* 00000000 atoi

00000000?????? *UND* 00000000 _Znwj

00000000?????? *UND* 00000000 _ZdlPv

00000000 w?? F .gnu.linkonce.t._ZN3FOO3barEii 00000027 _ZN3FOO3barEii

00000000?????? *UND* 00000000 ThisIsTest

00000000?????? *UND* 00000000 printf

00000000?????? *UND* 00000000 __gxx_personality_v0

注意到這里和前面有什么不同沒有,可以看到,在兩個目標文件中,都有一個符號ThisIsTest,這個符號引用的就是ThisIsTest()函數了。顯

然,此時在兩個目標文件中都存在同樣的ThisIsTest符號,因此認為它們引用的實際上同一個函數,于是就將兩個目標文件連接在一起,凡是

出現程序代碼段中有ThisIsTest符號的地方都用ThisIsTest()函數的實際地址代替。另外,還可以看到,僅僅被extern "C" {}包圍起來的函數

采用這樣的目標符號形式,對于main.cpp中的FOO類的成員函數,在兩種編譯方式后的符號名都是經過“粉碎”了的。

因此,綜合上面的分析,我們可以得出如下結論:采用extern "C" {} 這種形式的聲明,可以使得CPP與C之間的接口具有互通性,不會由于語

言內部的機制導致連接目標文件的時候出現錯誤。需要說明的是,上面只是根據我的試驗結果而得出的結論。由于對于CPP用得不是很多,了解

得也很少,因此對其內部處理機制并不是很清楚,如果需要深入了解這個問題的細節請參考相關資料。

?

第二種理解
時常在cpp的代碼之中看到這樣的代碼:

#ifdef __cplusplus

extern "C" {

#endif

?

//一段代碼

?

#ifdef __cplusplus

}

#endif
?

  這樣的代碼到底是什么意思呢?首先,__cplusplus是cpp中的自定義宏,那么定義了這個宏的話表示這是一段cpp的代碼,也就是說,上面

的代碼的含義是:如果這是一段cpp的代碼,那么加入extern "C"{和}處理其中的代碼。

  要明白為何使用extern "C",還得從cpp中對函數的重載處理開始說起。在c++中,為了支持重載機制,在編譯生成的匯編碼中,要對函數

的名字進行一些處理,加入比如函數的返回類型等等.而在C中,只是簡單的函數名字而已,不會加入其他的信息.也就是說:C++和C對產生的函

數名字的處理是不一樣的.

  比如下面的一段簡單的函數,我們看看加入和不加入extern "C"產生的匯編代碼都有哪些變化:

int f(void)

{

return 1;

}
?

  在加入extern "C"的時候產生的匯編代碼是:

.file "test.cxx"

.text

.align 2

.globl _f

.def _f; .scl 2; .type 32; .endef

_f:

pushl %ebp

movl %esp, %ebp

movl $1, %eax

popl %ebp

ret
?

  但是不加入了extern "C"之后

.file "test.cxx"

.text

.align 2

.globl __Z1fv

.def __Z1fv; .scl 2; .type 32; .endef

__Z1fv:

pushl %ebp

movl %esp, %ebp

movl $1, %eax

popl %ebp

ret
?

  兩段匯編代碼同樣都是使用gcc -S命令產生的,所有的地方都是一樣的,唯獨是產生的函數名,一個是_f,一個是__Z1fv。

  明白了加入與不加入extern "C"之后對函數名稱產生的影響,我們繼續我們的討論:為什么需要使用extern "C"呢?C++之父在設計C++之時

,考慮到當時已經存在了大量的C代碼,為了支持原來的C代碼和已經寫好C庫,需要在C++中盡可能的支持C,而extern "C"就是其中的一個策略

  試想這樣的情況:一個庫文件已經用C寫好了而且運行得很良好,這個時候我們需要使用這個庫文件,但是我們需要使用C++來寫這個新的代

碼。如果這個代碼使用的是C++的方式鏈接這個C庫文件的話,那么就會出現鏈接錯誤.我們來看一段代碼:首先,我們使用C的處理方式來寫一個

函數,也就是說假設這個函數當時是用C寫成的:

//f1.c

extern "C"

{

void f1()

{

return;

}

}
?

  編譯命令是:gcc -c f1.c -o f1.o 產生了一個叫f1.o的庫文件。再寫一段代碼調用這個f1函數:

// test.cxx

//這個extern表示f1函數在別的地方定義,這樣可以通過

//編譯,但是鏈接的時候還是需要

//鏈接上原來的庫文件.

extern void f1();

?

int main()

{

f1();

?

return 0;

}
?

  通過gcc -c test.cxx -o test.o 產生一個叫test.o的文件。然后,我們使用gcc test.o f1.o來鏈接兩個文件,可是出錯了,錯誤的提示

是:

test.o(.text + 0x1f):test.cxx: undefine reference to 'f1()'
?

  也就是說,在編譯test.cxx的時候編譯器是使用C++的方式來處理f1()函數的,但是實際上鏈接的庫文件卻是用C的方式來處理函數的,所

以就會出現鏈接過不去的錯誤:因為鏈接器找不到函數。

  因此,為了在C++代碼中調用用C寫成的庫文件,就需要用extern "C"來告訴編譯器:這是一個用C寫成的庫文件,請用C的方式來鏈接它們。

  比如,現在我們有了一個C庫文件,它的頭文件是f.h,產生的lib文件是f.lib,那么我們如果要在C++中使用這個庫文件,我們需要這樣寫

:

extern "C"

{

#include "f.h"

}
?

  回到上面的問題,如果要改正鏈接錯誤,我們需要這樣子改寫test.cxx:

extern "C"

{

extern void f1();

}

?

int main()

{

f1();

?

return 0;

}
?

重新編譯并且鏈接就可以過去了.

總結

C和C++對函數的處理方式是不同的.extern "C"是使C++能夠調用C寫作的庫文件的一個手段,如果要對編譯器提示使用C的方式來處理函數的話,那么就要使用extern "C"來說明。

總結

以上是生活随笔為你收集整理的C和C++混合编程(__cplusplus使用)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

久久成人免费 | 成人免费看视频 | 日韩二区在线观看 | 国产高清在线不卡 | 91九色国产在线 | 久久久免费看片 | 欧洲精品久久久久毛片完整版 | 国产成人黄色在线 | 麻豆视频一区 | 久久超碰免费 | 黄a网 | 波多野结衣电影久久 | 国产亚洲精品久久久久久网站 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 色在线免费 | 手机在线中文字幕 | 久久精品播放 | 在线观看av网| 啪啪凸凸| 永久免费观看视频 | 国产精品毛片一区 | 久久激情视频免费观看 | 婷婷网站天天婷婷网站 | 五月天开心 | 久久久久福利视频 | 欧美亚洲一级片 | 日韩欧美极品 | 婷婷网址| 91精品国产99久久久久 | 超碰在线亚洲 | 中文字幕你懂的 | 国产精品自在欧美一区 | 日韩精品一区在线播放 | 精品影院| 国产又粗又硬又爽视频 | 欧美巨大 | 精品二区久久 | 草久在线 | 热re99久久精品国产66热 | 中文字幕在线视频一区 | 成人黄大片视频在线观看 | 日韩欧美一区二区在线播放 | 午夜久久影视 | 精品国产视频在线 | 9热精品 | 伊人日日干 | 黄色在线小网站 | 99久热在线精品视频成人一区 | 国产一级黄大片 | 国产激情久久久 | 999久久a精品合区久久久 | 国产精品久久久网站 | 精品国产aⅴ一区二区三区 在线直播av | 中文字幕黄色网址 | 国产成人专区 | 亚洲精品美女久久17c | 国产区 在线 | 最近中文字幕国语免费高清6 | 国内精品久久久久久久影视麻豆 | 中文免费在线观看 | 国产精品 亚洲精品 | 国产午夜一级毛片 | 超碰97久久 | 亚洲第一区在线观看 | 免费一级特黄毛大片 | 久久久久一区 | 天天综合天天做天天综合 | 久久99网 | 久久国产色 | 国产精品久久久久久吹潮天美传媒 | 久久国产日韩 | 天天操狠狠操夜夜操 | www.亚洲精品在线 | 亚洲经典中文字幕 | 色视频在线 | 国产一级大片免费看 | 亚洲成人精品影院 | 国产91在线观 | 特级毛片在线免费观看 | 久草国产视频 | 久草在线视频看看 | 蜜臀av性久久久久av蜜臀妖精 | 日韩网站在线免费观看 | 人操人| 成人动漫精品一区二区 | 国产精品美女久久久久久免费 | 国产精国产精品 | 操操操日日日干干干 | 日韩剧| 成人免费在线观看入口 | 涩涩在线 | 亚洲国产精品一区二区久久,亚洲午夜 | 亚洲天堂网站视频 | 国产手机在线观看视频 | 四季av综合网站 | a v在线视频 | 天天天天天天天操 | 国产最新精品视频 | 免费看的黄色录像 | 亚洲特级毛片 | 国产黄色大片 | 免费av看片 | www国产一区 | 欧美激情视频一区二区三区免费 | 日韩久久久久久 | 少妇性aaaaaaaaa视频 | 在线观看国产中文字幕 | 日韩精品一区二区三区电影 | 毛片一二区 | 91看片在线免费观看 | a在线免费观看视频 | 69久久夜色精品国产69 | 欧美一区二区日韩一区二区 | 毛片精品免费在线观看 | 精品国产一区二区三区久久久蜜臀 | 在线观看小视频 | 久久精品婷婷 | 天堂va在线观看 | 成人免费观看网址 | 狠色在线| www.com久久 | 国产精品久久久久久久久久久久午夜片 | 激情小说 五月 | 日韩在线大片 | 久久久久成人精品 | 婷婷色亚洲 | 国产亚洲aⅴaaaaaa毛片 | 日本成人a | 人人讲下载| 亚洲精品乱码白浆高清久久久久久 | 久久婷婷丁香 | 永久免费av在线播放 | 国产在线a免费观看 | 久艹视频在线观看 | 国产婷婷色 | 久久久久久精 | av在线免费观看不卡 | 久久视频免费在线 | 国产免费视频在线 | 免费网站在线观看成人 | 午夜精品一区二区三区四区 | 欧美日韩精品综合 | 欧美激情片在线观看 | 久草视频在线免费 | 久草97| 成人a在线观看高清电影 | 日日夜夜精品视频 | 日韩欧美亚州 | 玖玖精品视频 | 国产在线精品福利 | 欧美影片 | 婷婷在线色 | 黄色资源在线观看 | 亚洲免费av观看 | 在线免费观看黄色 | 久久久久一区二区三区 | 欧美亚洲另类在线视频 | av三区在线 | 免费看一级特黄a大片 | 91色视频 | 久久久亚洲国产精品麻豆综合天堂 | 四虎国产永久在线精品 | 在线观看国产中文字幕 | 午夜美女福利 | 天天做天天射 | 成人观看 | 国产精品久久久久久久电影 | 亚洲激情在线观看 | 免费在线观看av网址 | 亚洲欧美日韩国产精品一区午夜 | 狠狠狠色丁香综合久久天下网 | 在线观看一区二区精品 | 日韩av二区 | 菠萝菠萝在线精品视频 | 免费精品在线观看 | 免费看毛片在线 | 麻豆综合网 | 国产在线第三页 | 日韩精品综合在线 | 中文字幕日本在线 | 国产免费精彩视频 | 日韩黄色影院 | 97国产一区二区 | 1024手机基地在线观看 | 开心激情五月网 | 久久天天躁狠狠躁亚洲综合公司 | 亚洲区二区 | 成人在线视频一区 | 一级做a视频 | 91亚洲国产成人久久精品网站 | 免费观看成年人视频 | 精品亚洲免a| 色网站在线观看 | 国产色一区 | 久久国产一区二区 | 免费看黄色大全 | 午夜黄网 | 91大神dom调教在线观看 | 免费色视频在线 | 国产区精品在线观看 | 91香蕉视频在线 | 亚洲欧洲精品一区二区精品久久久 | 三级av免费看 | 精品久久久久久亚洲综合网站 | 欧美性色黄| 婷婷六月色 | www.天天干.com | 天天色.com| 四虎影视国产精品免费久久 | 免费黄a | 国产一级二级在线观看 | 日韩电影中文字幕 | 国产香蕉97碰碰碰视频在线观看 | 99精品久久久久久久 | 日韩电影在线一区二区 | 超碰最新网址 | 91丨九色丨蝌蚪丨对白 | 一区二区三区免费在线观看视频 | 五月婷婷色播 | 国产成人精品一区二区在线观看 | 男女精品久久 | 精品视频久久久 | 亚洲国产成人av网 | 特级毛片在线观看 | 久久免费毛片 | 久久成人国产精品免费软件 | 国产精品99久久久久 | 2023av| 国产成人a亚洲精品v | 亚洲人成在| 国产小视频在线免费观看视频 | 日本少妇高清做爰视频 | 国产亚洲亚洲 | 成年人免费看片网站 | www操操 | www.国产在线视频 | 丁香色天天 | 日韩免费视频网站 | 久久国产精品一区二区三区 | 亚洲精品视频在线观看视频 | 99精品在线观看视频 | 免费的成人av | 成人香蕉视频 | 成人在线免费视频观看 | 国产在线视频一区二区三区 | 性色av免费看 | 久久激情综合网 | 日日弄天天弄美女bbbb | 亚洲高清在线视频 | 国产成人在线观看 | 国产视频精品久久 | 国产精品99久久久精品 | 色综合久久久久久中文网 | 99r在线播放 | 一区二区三区观看 | 日韩精品免费一区二区 | 欧美日韩一区二区三区在线免费观看 | 99视频精品免费视频 | 一区二区三区在线视频观看58 | 在线观看日韩中文字幕 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 97人人艹 | 999精品在线| av电影在线免费观看 | 成人国产电影在线观看 | 成人黄色在线看 | 国产小视频在线看 | 日韩色爱 | 在线日韩中文 | 欧美精品在线视频观看 | 免费涩涩网站 | 99在线观看免费视频精品观看 | 免费av观看网站 | 国产字幕在线观看 | 天天操狠狠操 | 日韩二区三区在线 | 在线观看韩日电影免费 | 五月婷婷色丁香 | 国产免费不卡 | 黄色成人在线 | 久国产在线播放 | 国产精品久久久久久久久毛片 | 免费三级黄| 九九九视频在线 | 精品一区 精品二区 | 五月婷婷六月丁香 | 久久99精品久久久久久秒播蜜臀 | 亚洲综合激情 | 国产高清视频 | 黄色午夜网站 | 欧美综合在线视频 | 玖玖在线资源 | 999久久 | 婷婷去俺也去六月色 | 亚洲视频六区 | 香蕉在线影院 | 久久亚洲精品国产亚洲老地址 | 中文字幕免费高清在线观看 | 久久爱992xxoo | 五月综合激情网 | 亚洲人人射 | 国产成人精品免费在线观看 | 精品99在线观看 | 国模一区二区三区四区 | 在线看片中文字幕 | 免费在线观看亚洲视频 | 怡红院av| 色综合激情网 | 91人人澡人人爽人人精品 | 日本精品午夜 | 午夜精品视频在线 | 国产视频美女 | 九九九视频精品 | 五月激情久久久 | 日韩免费不卡视频 | 国产日韩精品一区二区三区 | 天天插日日插 | 手机av电影在线 | 欧美久久久久久久久久久久久 | 超碰在线人人97 | 国产二区av | 亚洲最大av网站 | www日日夜夜| 九九色综合| 日本一区二区三区视频在线播放 | 国产成人精品电影久久久 | 97免费视频在线播放 | 中文字幕一区二区三区四区久久 | 麻豆传媒视频在线播放 | 久草在线免费新视频 | 日韩在线观看不卡 | 成人全视频免费观看在线看 | 一区二区三区韩国免费中文网站 | 伊人影院av| 久久都是精品 | 天堂资源在线观看视频 | 91久久国产自产拍夜夜嗨 | 九九视频这里只有精品 | 99久久精品免费看国产四区 | 毛片久久久 | 激情视频在线观看网址 | 天天综合区 | 国产成人精品一区二区 | 中文字幕一区二 | 日韩中文在线字幕 | 激情久久久久久久久久久久久久久久 | 免费男女羞羞的视频网站中文字幕 | 久久国产剧场电影 | 亚洲欧美日韩在线一区二区 | 日韩免费网址 | 国产精品自在线 | 一级片视频免费观看 | 日韩超碰 | 少妇精品久久久一区二区免费 | 欧美激情视频在线观看免费 | 天天干天天射天天操 | 在线观看成年人 | 成人一区二区三区在线观看 | 91看片网址| 一区二区视频在线播放 | 免费成人黄色 | 99久热精品 | 国产精品亚洲片夜色在线 | 欧美精品做受xxx性少妇 | 国产精彩视频 | 日本久久成人 | 在线观看视频日韩 | 欧美一级片免费观看 | 国产免费黄色 | 日韩在线网址 | 婷婷丁香色| 日韩在线视频免费观看 | 91av网站在线观看 | 亚洲成人黄色在线 | 91亚洲视频在线观看 | 国产精品视频线看 | 日韩国产精品一区 | 黄色软件网站在线观看 | 四虎影视精品永久在线观看 | 日韩v在线91成人自拍 | 免费观看一级特黄欧美大片 | 麻豆94tv免费版 | 中文av日韩 | 亚洲精品乱码久久久久久久久久 | 久久综合狠狠综合久久综合88 | 伊人久久av | 国产欧美精品一区二区三区四区 | 99免费观看视频 | 免费久久久久久 | 色网站在线免费 | 免费观看国产视频 | av电影中文字幕在线观看 | 一区二区三区在线观看中文字幕 | 在线国产日本 | 黄污在线观看 | 中文字幕 国产精品 | 精品日本视频 | 免费av高清 | 欧洲性视频 | 狠狠综合久久 | 91天堂影院 | 丁香花中文在线免费观看 | 国产专区精品 | 中文字幕黄色 | 亚洲精品三级 | 久久99亚洲精品久久久久 | 亚洲一区av | 国产日产精品久久久久快鸭 | 81国产精品久久久久久久久久 | 热久久电影 | 在线观看中文字幕视频 | 久久久精品成人 | 日韩视频免费观看高清完整版在线 | 成年人免费在线 | 91在线中字 | 国产中文字幕在线免费观看 | 日韩a在线播放 | 久久久精华网 | 五月天婷婷狠狠 | 国产视频在线看 | 久久久久久福利 | 日韩视频中文字幕 | 91高清在线 | 亚洲天堂网在线视频 | 国产美女在线观看 | 色激情在线 | 国产精品高清av | 日韩试看 | 久久66热这里只有精品 | 婷婷丁香五 | 探花在线观看 | 免费黄色a级毛片 | 久久香蕉国产 | 欧美另类v | 日韩综合一区二区三区 | 欧美精品在线视频 | 一级片视频在线 | 超碰公开在线 | 天天操天天操一操 | 成人动图| 午夜免费在线观看 | 久久不卡视频 | 视频精品一区二区三区 | 91精品国产一区二区在线观看 | 免费看的视频 | 色偷偷88888欧美精品久久 | 久草精品视频在线观看 | 99精品视频在线观看 | 欧美色婷 | 天天干天天射天天操 | 18久久久久久 | 亚洲成av人影院 | www.在线观看视频 | 婷婷在线视频 | 深夜免费福利网站 | 色99网| 亚洲伊人天堂 | 日韩在线视频观看免费 | 日本公乱妇视频 | 国产精品一区欧美 | 国内久久久 | 国产美女网站视频 | 91精品国产欧美一区二区 | 91大神精品视频在线观看 | 福利一区视频 | 成人国产精品免费观看 | 精品国产一区二区三区男人吃奶 | 狠狠躁夜夜躁人人爽超碰97香蕉 | av电影不卡在线 | 久久高清免费观看 | 免费国产一区二区 | 六月丁香伊人 | 精品伦理一区二区三区 | 国产日韩欧美在线影视 | 91精品国产成人www | 欧美精品在线观看一区 | 成人欧美在线 | 在线免费色 | 国产精品麻豆果冻传媒在线播放 | 91手机视频 | 日韩最新理论电影 | 午夜手机电影 | 日韩中文字幕亚洲一区二区va在线 | 午夜成人免费电影 | 国产高清日韩欧美 | 国产大片免费久久 | 日本爱爱免费视频 | 一区二区激情 | 久久99国产精品视频 | 亚洲成av人片在线观看 | 婷婷丁香六月 | 成人免费视频在线观看 | 国产亚洲精品久久久久秋 | 国产精品久久久网站 | 中文字幕在线一区二区三区 | 最新av网站在线观看 | 亚洲第二色 | 麻花豆传媒mv在线观看 | 久久系列| 国产精品久久久久久久免费 | 最近免费在线观看 | 午夜久久久久久久久 | 91在线视频精品 | 国产日韩精品一区二区三区在线 | 色a网 | 五月丁香| 色婷婷一 | 91亚洲精品久久久蜜桃网站 | 日韩欧美一区二区在线 | 国产手机视频在线观看 | 国产精品精品视频 | 国产在线观看免费观看 | 91经典在线| 亚洲视频免费在线看 | 免费av黄色| 国产精品片 | 亚洲国产精品va在线 | 亚洲欧洲中文日韩久久av乱码 | 日韩久久视频 | 三级黄免费看 | 午夜资源站 | 亚洲国产人午在线一二区 | 亚洲一区二区精品视频 | 久久精品直播 | 久热久草 | 黄色91免费观看 | 九九精品视频在线观看 | 国产精品久久精品国产 | 手机在线看a | 亚洲精品网址在线观看 | 国产亚洲高清视频 | 久久成人国产精品免费软件 | 国产精品免费观看视频 | 中文字幕一区二区三区乱码在线 | 丝袜美女在线观看 | 色婷婷成人网 | 人人爽人人爽人人片 | 日韩在线视频免费播放 | 久草精品在线播放 | 精品一区二区在线免费观看 | 亚洲国产成人av网 | 久久综合狠狠综合久久激情 | 亚洲区另类春色综合小说 | 久草免费在线视频观看 | 国产1区在线观看 | 热re99久久精品国产66热 | 免费看一级黄色大全 | 四虎国产精品成人免费4hu | 久久女同性恋中文字幕 | 91av短视频 | 在线a视频免费观看 | 久久精品电影网 | 久久九九视频 | 国产精品a久久 | 奇米影视四色8888 | 成年人国产在线观看 | 亚洲欧美观看 | 日韩精品中文字幕在线不卡尤物 | 日日日日干 | 很黄很污的视频网站 | 91视频在线免费看 | 人人干在线观看 | 99r国产精品 | 国产一线二线三线在线观看 | 久久久久久久久久久高潮一区二区 | 国产精品久久99综合免费观看尤物 | 综合天天| 久草在线免费电影 | 天天操天天草 | 亚洲影院一区 | 成人免费网站在线观看 | 黄色影院在线免费观看 | 九色在线视频 | 国产精品中文久久久久久久 | 色九九在线 | 日本中文字幕系列 | 亚洲免费视频在线观看 | 日韩理论在线视频 | 精品美女在线观看 | 免费日韩三级 | 久久久久国产精品一区二区 | 中文字幕欲求不满 | 国产999视频 | 国产亚洲精品久久久久久无几年桃 | 久久噜噜少妇网站 | 99成人免费视频 | 国产成人免费观看 | 99福利片 | 国产一区二区综合 | 91成年人网站 | 国产中文在线视频 | 婷婷色中文字幕 | 国产精品理论视频 | 日韩高清免费电影 | 日韩激情网 | 国产专区精品 | 国产91精品久久久久 | 日韩大片在线播放 | 婷婷久月 | 欧洲不卡av | 天天射天天做 | 天天色天天射天天综合网 | 天天射天天射天天 | 日本在线观看中文字幕 | 日韩中出在线 | 看黄色.com | 97高清免费视频 | 一区二区三区国产精品 | 久草网站 | 精品国产一二三 | 日韩中文字幕免费电影 | 国产福利专区 | 国产在线中文字幕 | 日日精品 | 国产激情小视频在线观看 | 欧美激情亚洲综合 | 91久久人澡人人添人人爽欧美 | 日韩欧美在线影院 | 97在线精品国自产拍中文 | 激情丁香 | 国产资源免费在线观看 | 精品女同一区二区三区在线观看 | 在线国产不卡 | 九九九热视频 | 国产一区二区电影在线观看 | 欧美一级视频在线观看 | 亚洲国产精品传媒在线观看 | 日韩资源在线 | 一区二区中文字幕在线播放 | 久久看看 | 国产精品99久久久久 | 精品网站999www| 久久久久免费看 | 日日日视频 | 欧美色图一区 | 久久韩国免费视频 | 久久高清精品 | 97爱爱爱| 亚洲永久精品国产 | 免费亚洲一区二区 | 在线欧美小视频 | 日韩精品一区二区三区丰满 | 成人在线视频论坛 | 欧洲高潮三级做爰 | 成人国产精品免费观看 | 欧美一级性视频 | 久久视频这里只有精品 | 国产日韩欧美视频 | 亚洲国产精品久久久久 | 一本一本久久a久久精品综合小说 | 女人18精品一区二区三区 | 超碰在线日本 | 成人h在线观看 | 日韩一二三 | 亚洲在线看 | 奇米网777| 欧美日韩亚洲一 | 成人av在线观 | 国产小视频在线看 | 中文国产字幕在线观看 | 在线看小早川怜子av | 91精品1区| 日本精品视频在线 | 国产女v资源在线观看 | 日韩高清一二区 | 国产精品中文字幕在线 | 国产高清在线免费 | 一级黄色在线免费观看 | 六月色丁 | 中文字幕网站 | 麻豆91在线 | 黄色av电影网 | 婷婷狠狠操 | 欧美日韩在线免费观看视频 | 99精品色| 亚洲国产激情 | 男女激情片在线观看 | 婷婷在线观看视频 | 久久亚洲成人网 | 成人永久免费 | 久久国产91| 91福利影院在线观看 | 免费人人干 | 日本高清久久久 | 午夜美女视频 | 涩涩爱夜夜爱 | av大全在线免费观看 | 在线免费观看不卡av | 天天操天天操天天操 | 欧美视频日韩 | 久久激情影院 | 久久精品国产成人 | 国产我不卡 | 国产精品一区专区欧美日韩 | 色黄久久久久久 | 中文字幕有码在线播放 | 午夜精品久久久久久久久久久久 | 国产特级毛片aaaaaa毛片 | 欧美老少交 | 国产精品美女久久久久久网站 | 成人在线免费看视频 | 日韩在线免费播放 | 国产精品女人久久久久久 | 国产中文字幕视频在线 | 91av视频在线播放 | 天天操天天插 | 久久丁香 | 奇米影视8888在线观看大全免费 | 国产成人久久精品77777 | 在线日韩亚洲 | 国产午夜三级 | 中文字幕丝袜一区二区 | 欧美性直播 | 91在线看片| 国产成视频在线观看 | 亚洲精品黄色片 | 国产一区在线视频 | 97香蕉超级碰碰久久免费软件 | 欧美黑吊大战白妞欧美 | 国产日韩精品一区二区 | 久草在线最新视频 | 成人日韩av | 国产黄色片在线免费观看 | 亚洲永久精品在线 | 日本少妇久久久 | 欧美日性视频 | 国产一级高清 | 香蕉免费 | 欧美日韩在线视频一区二区 | 黄色tv视频 | 成年人免费看的视频 | 六月久久婷婷 | 在线观看日韩中文字幕 | 国产亚洲久一区二区 | 久久综合欧美 | 91精品国产欧美一区二区成人 | 国产亚洲视频在线 | 日韩r级在线 | 久久只精品99品免费久23小说 | 中文在线a∨在线 | 国产精品一区二区久久精品爱涩 | 97超级碰碰碰碰久久久久 | 亚洲欧洲一区二区在线观看 | 激情综合网五月 | 91九色蝌蚪视频 | 男女免费av | 免费视频99| 69xxxx欧美| se视频网址 | 高清av网站| 欧美在线视频不卡 | 天天干夜夜爱 | 成人午夜精品 | 丁香av在线 | 日韩欧美视频在线观看免费 | 99久久精品国产欧美主题曲 | 日日婷婷夜日日天干 | 久久精品99北条麻妃 | 国产黄在线免费观看 | 麻豆精品在线视频 | 91精品久久久久久 | 亚洲午夜久久久久久久久电影网 | 日日日干 | 国产小视频网站 | 亚洲动漫在线观看 | 香蕉影视 | 午夜影视剧场 | 亚洲资源在线 | 在线一区二区三区 | 三级黄免费看 | 国产精品久久久久久久久大全 | 江苏妇搡bbbb搡bbbb | 麻豆传媒视频在线 | 久久影院中文字幕 | 免费av在线播放 | 亚洲精品视频在线免费 | 色噜噜日韩精品欧美一区二区 | 精品久久免费看 | 久草97| 日韩午夜av电影 | 久久中文精品视频 | 一区二区三区精品在线视频 | 欧美激情视频一区二区三区 | 国产黄a三级三级 | 国产激情小视频在线观看 | 中文字幕高清av | 国产 一区二区三区 在线 | 韩国精品视频在线观看 | 国产成人精品综合久久久久99 | 在线黄av| 精品夜夜嗨av一区二区三区 | 国产精品免费小视频 | 久久久亚洲国产精品麻豆综合天堂 | 久久艹国产 | 国产三级午夜理伦三级 | 中文字幕免费一区二区 | 久久综合操 | 亚洲欧美精品一区二区 | 日韩黄色中文字幕 | 日韩二区三区在线 | 91精品秘密在线观看 | 久久人人爽人人爽人人 | 911国产在线观看 | 丰满少妇在线观看网站 | 国产麻豆果冻传媒在线观看 | 91成人黄色 | 亚洲人xxx| 97夜夜澡人人爽人人免费 | 国产精品2018 | 国产一级久久 | 狠狠操狠狠干2017 | 香蕉久久久久久av成人 | 国产免费大片 | 伊人激情网| 国产午夜精品一区二区三区在线观看 | 国产成人三级一区二区在线观看一 | 精品国产免费观看 | 99久免费精品视频在线观看 | 国产精品成人久久 | 久久一区国产 | 婷婷电影在线观看 | 91精品视频在线 | 国产丝袜网站 | 欧美高清视频不卡网 | 欧美日韩一区二区三区免费视频 | 日韩专区 在线 | 狠狠操操网 | av 一区二区三区四区 | 亚洲高清视频在线观看免费 | 日韩av在线不卡 | 成年人天堂com | 中文字幕高清 | 91精品一区二区三区蜜臀 | 在线视频观看成人 | 久久不卡av | 久久久久久久久久久久电影 | 久久99久国产精品黄毛片入口 | 91免费在线播放 | 久久国产精品99久久久久 | 热久久99这里有精品 | 日韩小视频 | av高清不卡 | 亚洲精品影视在线观看 | 久久免费精品视频 | 精品国产一区二区三区蜜臀 | 亚洲精品理论片 | 色资源在线 | 91视频传媒| 日本精品久久久久中文字幕 | 日韩三级免费观看 | 国产美腿白丝袜足在线av | 中文字幕黄色网 | 免费视频一区二区 | 成人a视频| 久久视屏网 | 黄色毛片视频免费观看中文 | 国产麻豆精品久久一二三 | 免费日韩高清 | 婷婷草 | 天天综合中文 | 成人亚洲免费 | 色狠狠久久av五月综合 | 成人在线视频免费看 | 亚洲成av人片在线观看 | 欧美日韩中文字幕综合视频 | 日韩国产精品久久久久久亚洲 | 精品国产精品久久一区免费式 | 国产三级精品三级在线观看 | 国产精品免费高清 | 久久久久久毛片精品免费不卡 | 美女网站在线看 | av免费看网站 | 人人要人人澡人人爽人人dvd | 中文字幕日韩精品有码视频 | 色婷婷精品大在线视频 | 国产流白浆高潮在线观看 | 91丨porny丨九色| 国产精品免费大片视频 | 久久久www免费电影网 | 波多野结衣在线播放视频 | 国产91勾搭技师精品 | 黄网站色视频 | 成年人在线免费看视频 | 成年人在线视频观看 | 91桃色国产在线播放 | 91精品国产自产在线观看永久 | 在线国产欧美 | 久久国产精品99久久久久久进口 | 成人免费视频视频在线观看 免费 | 日本韩国精品一区二区在线观看 | 丁香婷婷综合激情五月色 | 成人免费看片98欧美 | 夜夜操天天摸 | 美女在线黄 | 欧美性极品xxxx娇小 | 婷婷深爱网 | 香蕉网在线播放 | 99这里精品| 免费色黄| 不卡日韩av | 成av在线 | 中文字幕日韩免费视频 | av中文字幕在线电影 | 久久久免费网站 | 一区二区视频在线免费观看 | 亚洲视频免费视频 | av成人免费在线看 | 中文字幕在线播放一区二区 | 日本精品一区二区在线观看 | 亚洲国产日韩精品 | 在线免费试看 | 日韩免费av网址 | 国产精品美女网站 | 2018好看的中文在线观看 | 久久最新视频 | 日日干天天插 | 精品国产aⅴ麻豆 | 人人添人人澡人人澡人人人爽 | 色综合色综合久久综合频道88 | 99精品福利 | 欧美精品在线观看一区 | 久久成人视屏 | 国产做爰视频 | 日韩激情片在线观看 | 国产69久久精品成人看 | 黄色在线观看www | 91丨九色丨91啦蝌蚪老版 | 久久人人爽爽人人爽人人片av | 青青草华人在线视频 | 国产一级精品在线观看 | 最新av网址在线观看 | 超碰在线公开免费 | 日韩一区正在播放 | 久久精品永久免费 | 日韩.com | www.91国产| 欧美美女一级片 | 国产精品免费久久久久久 | 日韩欧美视频在线 | 91精品一区二区三区蜜臀 | 国产中文视| 91精品免费在线 | 欧美日韩首页 | 丁香激情网 | 99久久er热在这里只有精品15 | 日韩精品一区二区三区中文字幕 | 久久一线| 天堂在线视频免费观看 | av噜噜噜在线播放 | 91香蕉视频黄色 | 国产精品嫩草影院9 | 91视频高清完整版 | 日韩中文在线字幕 | av不卡免费看| 超级碰碰碰免费视频 | 日本中文字幕在线观看 | 成年人免费看片 | 免费久久网站 | 日本bbbb摸bbbb | 亚洲精品黄色在线观看 | 99国产精品视频免费观看一公开 | 国产剧情一区二区 | av在线进入 | 久久69精品久久久久久久电影好 | 国产一二三区av | 国产黄色精品在线 | 国产美女视频免费观看的网站 | 欧美一级性生活视频 | 麻豆一二 | 黄色大全在线观看 | 黄色一区二区在线观看 | 精品超碰 | 中文字幕一区二区三区精华液 | 日韩成人邪恶影片 | 日韩理论片在线 | 伊人小视频 | 日韩极品视频在线观看 | 国产又粗又猛又色又黄视频 | 在线中文字幕av观看 | 天天干天天拍天天操天天拍 | 中文字幕日韩在线播放 | 麻豆mv在线观看 | 国内成人综合 | 国产一区二区三区四区在线 | 日韩精品视频第一页 | 亚洲欧美日韩国产一区二区三区 | 亚洲码国产日韩欧美高潮在线播放 | 亚洲国产中文字幕 | 91精品综合| 国产专区在线 | 午夜精品久久久久久久99水蜜桃 | 美女免费视频黄 | 日韩精品一区二区三区高清免费 | 亚洲免费永久精品国产 | 国产手机在线观看视频 | 久久蜜桃av| 亚洲欧洲一级 | 国产69精品久久久久9999apgf |