国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

Linux 程序編譯過程的來龍去脈

共 7357字,需瀏覽 15分鐘

 ·

2021-01-19 07:38



大家肯定都知道計(jì)算機(jī)程序設(shè)計(jì)語言通常分為機(jī)器語言、匯編語言和高級(jí)語言三類。高級(jí)語言需要通過翻譯成機(jī)器語言才能執(zhí)行,而翻譯的方式分為兩種,一種是編譯型,另一種是解釋型,因此我們基本上將高級(jí)語言分為兩大類,一種是編譯型語言,例如C,C++,Java,另一種是解釋型語言,例如Python、Ruby、MATLAB 、JavaScript。


本文將介紹如何將高層的C/C++語言編寫的程序轉(zhuǎn)換成為處理器能夠執(zhí)行的二進(jìn)制代碼的過程,包括四個(gè)步驟:

  • 預(yù)處理(Preprocessing)

  • 編譯(Compilation)

  • 匯編(Assembly)

  • 鏈接(Linking)


GCC 工具鏈介紹

通常所說的GCC是GUN Compiler Collection的簡(jiǎn)稱,是Linux系統(tǒng)上常用的編譯工具。GCC工具鏈軟件包括GCC、Binutils、C運(yùn)行庫等。


GCC

GCC(GNU C Compiler)是編譯工具。本文所要介紹的將C/C++語言編寫的程序轉(zhuǎn)換成為處理器能夠執(zhí)行的二進(jìn)制代碼的過程即由編譯器完成。


Binutils

一組二進(jìn)制程序處理工具,包括:addr2line、ar、objcopy、objdump、as、ld、ldd、readelf、size等。這一組工具是開發(fā)和調(diào)試不可缺少的工具,分別簡(jiǎn)介如下:

  • addr2line:用來將程序地址轉(zhuǎn)換成其所對(duì)應(yīng)的程序源文件及所對(duì)應(yīng)的代碼行,也可以得到所對(duì)應(yīng)的函數(shù)。該工具將幫助調(diào)試器在調(diào)試的過程中定位對(duì)應(yīng)的源代碼位置。

  • as:主要用于匯編,有關(guān)匯編的詳細(xì)介紹請(qǐng)參見后文。

  • ld:主要用于鏈接,有關(guān)鏈接的詳細(xì)介紹請(qǐng)參見后文。

  • ar:主要用于創(chuàng)建靜態(tài)庫。為了便于初學(xué)者理解,在此介紹動(dòng)態(tài)庫與靜態(tài)庫的概念:

    • 如果要將多個(gè).o目標(biāo)文件生成一個(gè)庫文件,則存在兩種類型的庫,一種是靜態(tài)庫,另一種是動(dòng)態(tài)庫。

    • 在windows中靜態(tài)庫是以 .lib 為后綴的文件,共享庫是以 .dll 為后綴的文件。在linux中靜態(tài)庫是以.a為后綴的文件,共享庫是以.so為后綴的文件。

    • 靜態(tài)庫和動(dòng)態(tài)庫的不同點(diǎn)在于代碼被載入的時(shí)刻不同。靜態(tài)庫的代碼在編譯過程中已經(jīng)被載入可執(zhí)行程序,因此體積較大。共享庫的代碼是在可執(zhí)行程序運(yùn)行時(shí)才載入內(nèi)存的,在編譯過程中僅簡(jiǎn)單的引用,因此代碼體積較小。在Linux系統(tǒng)中,可以用ldd命令查看一個(gè)可執(zhí)行程序依賴的共享庫。

    • 如果一個(gè)系統(tǒng)中存在多個(gè)需要同時(shí)運(yùn)行的程序且這些程序之間存在共享庫,那么采用動(dòng)態(tài)庫的形式將更節(jié)省內(nèi)存。

  • ldd:可以用于查看一個(gè)可執(zhí)行程序依賴的共享庫。

  • objcopy:將一種對(duì)象文件翻譯成另一種格式,譬如將.bin轉(zhuǎn)換成.elf、或者將.elf轉(zhuǎn)換成.bin等。

  • objdump:主要的作用是反匯編。有關(guān)反匯編的詳細(xì)介紹,請(qǐng)參見后文。

  • readelf:顯示有關(guān)ELF文件的信息,請(qǐng)參見后文了解更多信息。

  • size:列出可執(zhí)行文件每個(gè)部分的尺寸和總尺寸,代碼段、數(shù)據(jù)段、總大小等,請(qǐng)參見后文了解使用size的具體使用實(shí)例。


C運(yùn)行庫

C語言標(biāo)準(zhǔn)主要由兩部分組成:一部分描述C的語法,另一部分描述C標(biāo)準(zhǔn)庫。C標(biāo)準(zhǔn)庫定義了一組標(biāo)準(zhǔn)頭文件,每個(gè)頭文件中包含一些相關(guān)的函數(shù)、變量、類型聲明和宏定義,譬如常見的printf函數(shù)便是一個(gè)C標(biāo)準(zhǔn)庫函數(shù),其原型定義在stdio頭文件中。

C語言標(biāo)準(zhǔn)僅僅定義了C標(biāo)準(zhǔn)庫函數(shù)原型,并沒有提供實(shí)現(xiàn)。因此,C語言編譯器通常需要一個(gè)C運(yùn)行時(shí)庫(C Run Time Libray,CRT)的支持。C運(yùn)行時(shí)庫又常簡(jiǎn)稱為C運(yùn)行庫。與C語言類似,C++也定義了自己的標(biāo)準(zhǔn),同時(shí)提供相關(guān)支持庫,稱為C++運(yùn)行時(shí)庫。

準(zhǔn)備工作

由于GCC工具鏈主要是在Linux環(huán)境中進(jìn)行使用,因此本文也將以Linux系統(tǒng)作為工作環(huán)境。為了能夠演示編譯的整個(gè)過程,本節(jié)先準(zhǔn)備一個(gè)C語言編寫的簡(jiǎn)單Hello程序作為示例,其源代碼如下所示:

#include  

//此程序很簡(jiǎn)單,僅僅打印一個(gè)Hello World的字符串。
int main(void)
{
?printf("Hello World! \n");
?return 0;
}


編譯過程

1.預(yù)處理

預(yù)處理的過程主要包括以下過程:

  • 將所有的#define刪除,并且展開所有的宏定義,并且處理所有的條件預(yù)編譯指令,比如#if #ifdef #elif #else #endif等。

  • 處理#include預(yù)編譯指令,將被包含的文件插入到該預(yù)編譯指令的位置。

  • 刪除所有注釋“//”和“/* */”。

  • 添加行號(hào)和文件標(biāo)識(shí),以便編譯時(shí)產(chǎn)生調(diào)試用的行號(hào)及編譯錯(cuò)誤警告行號(hào)。

  • 保留所有的#pragma編譯器指令,后續(xù)編譯過程需要使用它們。
    使用gcc進(jìn)行預(yù)處理的命令如下:

$ gcc -E hello.c -o hello.i // 將源文件hello.c文件預(yù)處理生成hello.i
? ? ? ? ? ? ? ? ? ? ? ?// GCC的選項(xiàng)-E使GCC在進(jìn)行完預(yù)處理后即停止

hello.i文件可以作為普通文本文件打開進(jìn)行查看,其代碼片段如下所示:

// hello.i代碼片段

extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));
# 942 "/usr/include/stdio.h" 3 4

# 2 "hello.c" 2


# 3 "hello.c"
int
main(void)
{
?printf("Hello World!" "\n");
?return 0;
}


2.編譯

編譯過程就是對(duì)預(yù)處理完的文件進(jìn)行一系列的詞法分析,語法分析,語義分析及優(yōu)化后生成相應(yīng)的匯編代碼。

使用gcc進(jìn)行編譯的命令如下:

$ gcc -S hello.i -o hello.s // 將預(yù)處理生成的hello.i文件編譯生成匯編程序hello.s
? ? ? ? ? ? ? ? ? ? ? ?// GCC的選項(xiàng)-S使GCC在執(zhí)行完編譯后停止,生成匯編程序

上述命令生成的匯編程序hello.s的代碼片段如下所示,其全部為匯編代碼。

// hello.s代碼片段

main:
.LFB0:
? ?.cfi_startproc
? ?pushq ? %rbp
? ?.cfi_def_cfa_offset 16
? ?.cfi_offset 6, -16
? ?movq ? ?%rsp, %rbp
? ?.cfi_def_cfa_register 6
? ?movl ? ?$.LC0, %edi
? ?call ? ?puts
? ?movl ? ?$0, %eax
? ?popq ? ?%rbp
? ?.cfi_def_cfa 7, 8
? ?ret
? ?.cfi_endproc


3.匯編

匯編過程調(diào)用對(duì)匯編代碼進(jìn)行處理,生成處理器能識(shí)別的指令,保存在后綴為.o的目標(biāo)文件中。由于每一個(gè)匯編語句幾乎都對(duì)應(yīng)一條處理器指令,因此,匯編相對(duì)于編譯過程比較簡(jiǎn)單,通過調(diào)用Binutils中的匯編器as根據(jù)匯編指令和處理器指令的對(duì)照表一一翻譯即可。

當(dāng)程序由多個(gè)源代碼文件構(gòu)成時(shí),每個(gè)文件都要先完成匯編工作,生成.o目標(biāo)文件后,才能進(jìn)入下一步的鏈接工作。注意:目標(biāo)文件已經(jīng)是最終程序的某一部分了,但是在鏈接之前還不能執(zhí)行。

使用gcc進(jìn)行匯編的命令如下:

$ gcc -c hello.s -o hello.o // 將編譯生成的hello.s文件匯編生成目標(biāo)文件hello.o
? ? ? ? ? ? ? ? ? ? ? ?// GCC的選項(xiàng)-c使GCC在執(zhí)行完匯編后停止,生成目標(biāo)文件
//或者直接調(diào)用as進(jìn)行匯編
$ as -c hello.s -o hello.o //使用Binutils中的as將hello.s文件匯編生成目標(biāo)文件

注意:hello.o目標(biāo)文件為ELF(Executable and Linkable Format)格式的可重定向文件。

4.鏈接

鏈接也分為靜態(tài)鏈接和動(dòng)態(tài)鏈接,其要點(diǎn)如下:

  • 靜態(tài)鏈接是指在編譯階段直接把靜態(tài)庫加入到可執(zhí)行文件中去,這樣可執(zhí)行文件會(huì)比較大。鏈接器將函數(shù)的代碼從其所在地(不同的目標(biāo)文件或靜態(tài)鏈接庫中)拷貝到最終的可執(zhí)行程序中。為創(chuàng)建可執(zhí)行文件,鏈接器必須要完成的主要任務(wù)是:符號(hào)解析(把目標(biāo)文件中符號(hào)的定義和引用聯(lián)系起來)和重定位(把符號(hào)定義和內(nèi)存地址對(duì)應(yīng)起來然后修改所有對(duì)符號(hào)的引用)。

  • 動(dòng)態(tài)鏈接則是指鏈接階段僅僅只加入一些描述信息,而程序執(zhí)行時(shí)再從系統(tǒng)中把相應(yīng)動(dòng)態(tài)庫加載到內(nèi)存中去。

    • 在Linux系統(tǒng)中,gcc編譯鏈接時(shí)的動(dòng)態(tài)庫搜索路徑的順序通常為:首先從gcc命令的參數(shù)-L指定的路徑尋找;再從環(huán)境變量LIBRARY_PATH指定的路徑尋址;再從默認(rèn)路徑/lib、/usr/lib、/usr/local/lib尋找。

    • 在Linux系統(tǒng)中,執(zhí)行二進(jìn)制文件時(shí)的動(dòng)態(tài)庫搜索路徑的順序通常為:首先搜索編譯目標(biāo)代碼時(shí)指定的動(dòng)態(tài)庫搜索路徑;再從環(huán)境變量LD_LIBRARY_PATH指定的路徑尋址;再從配置文件/etc/ld.so.conf中指定的動(dòng)態(tài)庫搜索路徑;再從默認(rèn)路徑/lib、/usr/lib尋找。

    • 在Linux系統(tǒng)中,可以用ldd命令查看一個(gè)可執(zhí)行程序依賴的共享庫。


由于鏈接動(dòng)態(tài)庫和靜態(tài)庫的路徑可能有重合,所以如果在路徑中有同名的靜態(tài)庫文件和動(dòng)態(tài)庫文件,比如libtest.a和libtest.so,gcc鏈接時(shí)默認(rèn)優(yōu)先選擇動(dòng)態(tài)庫,會(huì)鏈接libtest.so,如果要讓gcc選擇鏈接libtest.a則可以指定gcc選項(xiàng)-static,該選項(xiàng)會(huì)強(qiáng)制使用靜態(tài)庫進(jìn)行鏈接。以Hello World為例:

  • 如果使用命令“gcc hello.c -o hello”則會(huì)使用動(dòng)態(tài)庫進(jìn)行鏈接,生成的ELF可執(zhí)行文件的大?。ㄊ褂肂inutils的size命令查看)和鏈接的動(dòng)態(tài)庫(使用Binutils的ldd命令查看)如下所示:

    $ gcc hello.c -o hello
    $ size hello ?//使用size查看大小
    ? text ? ?data ? ? bss ? ? dec ? ? hex filename
    ? 1183 ? ? 552 ? ? ? 8 ? ?1743 ? ? 6cf ? ? hello
    $ ldd hello //可以看出該可執(zhí)行文件鏈接了很多其他動(dòng)態(tài)庫,主要是Linux的glibc動(dòng)態(tài)庫
    ? ? ? ?linux-vdso.so.1 => ?(0x00007fffefd7c000)
    ? ? ? ?libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fadcdd82000)
    ? ? ? ?/lib64/ld-linux-x86-64.so.2 (0x00007fadce14c000)
  • 如果使用命令“gcc -static hello.c -o hello”則會(huì)使用靜態(tài)庫進(jìn)行鏈接,生成的ELF可執(zhí)行文件的大?。ㄊ褂肂inutils的size命令查看)和鏈接的動(dòng)態(tài)庫(使用Binutils的ldd命令查看)如下所示:

    $ gcc -static hello.c -o hello
    $ size hello //使用size查看大小
    ? ? text ? ?data ? ? bss ? ? dec ? ? hex filename
    823726 ? ?7284 ? ?6360 ?837370 ? cc6fa ? ? hello //可以看出text的代碼尺寸變得極大
    $ ldd hello
    ? ? ? not a dynamic executable //說明沒有鏈接動(dòng)態(tài)庫

鏈接器鏈接后生成的最終文件為ELF格式可執(zhí)行文件,一個(gè)ELF可執(zhí)行文件通常被鏈接為不同的段,常見的段譬如.text、.data、.rodata、.bss等段。

分析ELF文件

1.ELF文件的段

ELF文件格式如下圖所示,位于ELF Header和Section Header Table之間的都是段(Section)。一個(gè)典型的ELF文件包含下面幾個(gè)段:

  • .text:已編譯程序的指令代碼段。

  • .rodata:ro代表read only,即只讀數(shù)據(jù)(譬如常數(shù)const)。

  • .data:已初始化的C程序全局變量和靜態(tài)局部變量。

  • .bss:未初始化的C程序全局變量和靜態(tài)局部變量。

  • .debug:調(diào)試符號(hào)表,調(diào)試器用此段的信息幫助調(diào)試。

可以使用readelf -S查看其各個(gè)section的信息如下:

$ readelf -S hello
There are 31 section headers, starting at offset 0x19d8:

Section Headers:
?[Nr] Name ? ? ? ? ? ? ?Type ? ? ? ? ? ? Address ? ? ? ? ? Offset
? ? ? Size ? ? ? ? ? ? ?EntSize ? ? ? ? ?Flags ?Link ?Info ?Align
?[ 0] ? ? ? ? ? ? ? ? ? NULL ? ? ? ? ? ? 0000000000000000 ?00000000
? ? ? 0000000000000000 ?0000000000000000 ? ? ? ? ? 0 ? ? 0 ? ? 0
……
?[11] .init ? ? ? ? ? ? PROGBITS ? ? ? ? 00000000004003c8 ?000003c8
? ? ? 000000000000001a ?0000000000000000 ?AX ? ? ? 0 ? ? 0 ? ? 4
……
?[14] .text ? ? ? ? ? ? PROGBITS ? ? ? ? 0000000000400430 ?00000430
? ? ? 0000000000000182 ?0000000000000000 ?AX ? ? ? 0 ? ? 0 ? ? 16
?[15] .fini ? ? ? ? ? ? PROGBITS ? ? ? ? 00000000004005b4 ?000005b4
……


2.反匯編ELF

由于ELF文件無法被當(dāng)做普通文本文件打開,如果希望直接查看一個(gè)ELF文件包含的指令和數(shù)據(jù),需要使用反匯編的方法。

使用objdump -D對(duì)其進(jìn)行反匯編如下:

$ objdump -D hello
……
0000000000400526
: ?// main標(biāo)簽的PC地址
//PC地址:指令編碼 ? ? ? ? ? ? ? ? ?指令的匯編格式
?400526: ? ?55 ? ? ? ? ? ? ? ? ? ? ? ? ?push ? %rbp
?400527: ? ?48 89 e5 ? ? ? ? ? ? ? ?mov ? ?%rsp,%rbp
?40052a: ? ?bf c4 05 40 00 ? ? ? ? ?mov ? ?$0x4005c4,%edi
?40052f: ? ?e8 cc fe ff ff ? ? ? ? ?callq ?400400
?400534: ? ?b8 00 00 00 00 ? ? ? ? ?mov ? ?$0x0,%eax
?400539: ? ?5d ? ? ? ? ? ? ? ? ? ? ?pop ? ?%rbp
?40053a: ? ?c3 ? ? ? ? ? ? ? ? ? ? ? ? ?retq ?
?40053b: ? ?0f 1f 44 00 00 ? ? ? ? ?nopl ? 0x0(%rax,%rax,1)
……

使用objdump -S將其反匯編并且將其C語言源代碼混合顯示出來:

$ gcc -o hello -g hello.c //要加上-g選項(xiàng)
$ objdump -S hello
……
0000000000400526
:
#include

int
main(void)
{
?400526: ? ?55 ? ? ? ? ? ? ? ? ? ? ? ? ?push ? %rbp
?400527: ? ?48 89 e5 ? ? ? ? ? ? ? ?mov ? ?%rsp,%rbp
?printf("Hello World!" "\n");
?40052a: ? ?bf c4 05 40 00 ? ? ? ? ?mov ? ?$0x4005c4,%edi
?40052f: ? ?e8 cc fe ff ff ? ? ? ? ?callq ?400400
?return 0;
?400534: ? ?b8 00 00 00 00 ? ? ? ? ?mov ? ?$0x0,%eax
}
?400539: ? ?5d ? ? ? ? ? ? ? ? ? ? ? ? ?pop ? ?%rbp
?40053a: ? ?c3 ? ? ? ? ? ? ? ? ? ? ? ? ?retq ?
?40053b: ? ?0f 1f 44 00 00 ? ? ? ? ?nopl ? 0x0(%rax,%rax,1)
……




良許個(gè)人微信


添加良許個(gè)人微信即送3套程序員必讀資料


→ 精選技術(shù)資料共享

→ 高手如云交流社群





本公眾號(hào)全部博文已整理成一個(gè)目錄,請(qǐng)?jiān)诠娞?hào)里回復(fù)「m」獲取!

推薦閱讀:

TCP協(xié)議靈魂 12 問,總會(huì)用得到

紅旗 Linux 桌面操作系統(tǒng)11來了:支持國產(chǎn)自主CPU,全新UI風(fēng)格設(shè)計(jì),兼容面廣

2020互聯(lián)網(wǎng)大廠職級(jí)對(duì)應(yīng)薪資一覽表。


5T技術(shù)資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,單片機(jī),樹莓派,等等。在公眾號(hào)內(nèi)回復(fù)「1024」,即可免費(fèi)獲取?。?/span>


瀏覽 32
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)
評(píng)論
圖片
表情
推薦
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 成人免费网站| WWW亚洲视频| 俺来也俺去也www色| 亚洲综合区| 91热视频| 中文字幕日韩欧美| 狠狠干2018| 精品国产一区二区三区久久久蜜月 | 日本三级片网站在线观看| 操老女人视频| 国产一级18片视频| 国产女18毛片多18精品| 欧美黄色小视频| 九色PORNY9l原创自拍| 婷婷五月AV| 日韩欧美精品一区二区| 欧美一级黄色大片| 成人高清无码在线观看| 91视频在| 国产无码三级| 国产视频999| 日本中文字幕在线观看视频| 久久久精品中文字幕麻豆发布 | www黄色视频| 黄色在线免费| 久久久久国产视频| 天堂毛片| 东京热一区二区三区| 操少妇视频| 久久99嫩草熟妇人妻蜜臀| 手机在线观看av| 中文字幕无码日韩| 国产夫妻在线视频| 60分钟上大床又黄又爽| 久久综合伊人777777| 91无码AⅤ在线| 99热精品国产| 91小视频在线| 男女啊啊啊| 99Re66精品免费视频| 欧美日韩成人在线观看| 99久久婷婷国产综合精品hsex| 日韩黄色片网站| 污网站免费观看| 成人欧美在线观看| 97少妇| 国产精品揄拍500视频| 十八禁黄网站| 亚洲AV无一区二区三区久久| 一级黄色电影免费观看| 影音先锋天堂网| 思思热在线观看视频| 影音先锋成人片| 一区二区三区视频在线| 亚洲乱伦中文字幕| A视频在线免费观看| 日韩欧美精品在线观看| 残忍另类BBWBBWBBW| 天天看天天日| 国产三级片在线视频| 黄色特级片| 亚洲综合电影| 五月天婷婷色| 日韩a| 亚洲视频在线免费观看| 午夜福利手机在线| 丁香婷婷久久久综合精品国产 | 亚洲免费成人电影| 91在线无码精品在线看| 神马午夜视频| 老熟妇搡BBBB搡BBBB| 亚洲成人视频免费在线观看| 影音先锋av资源在线| 在线无码电影| 黄色三级毛片| 一级片| 米奇色色| 五月天婷婷影院| 99精品在线观看| 777免费观看成人电影视频| 欧美日韩在线观看一区| 先锋影音男人| av一区在线| 五月婷婷导航| 日韩区在线| 成人在线免费电影| 不卡的av在线| 婷婷午夜精品久久久久久性色AV | 午夜精品久久久久久不卡8050| 日韩免费在线观看一区入口| 免费性网| 国产精品嫩草久久久久yw193| 最近最火中文字幕mv歌词| 牛牛在线精品视频| www俺来也com| 色色热热| 成人性爱av| 理论片熟女奶水哺乳| 日韩无码中文字幕| 在线一区二区三区| 老熟女AV| 中国熟睡妇BBwBBw| 日本老女人视频| 福利无码| 精品一区二区久久久久久久网站 | 国产成人超碰| 亚洲精品三级在线观看| 亚洲Av无码午夜国产精品色软件 | 蜜桃精品久久久| 激情婷婷色五月| 五月天无码免费视频| 一本加勒比HEZYO东京热无码| 俺来俺也去www色在线观看| 五月天无码在线| 日韩精品成人无码免费| 青青草97国产精品麻豆| 欧美色色网| 麻豆视频在线免费观看| 九色蝌蚪9l视频蝌蚪9l视频成人熟妇 | A级黄色电影| 午夜激情AV| 欧美精产国品一二三区| 龙泽美曦土豪| 麻豆传媒一区| 中文字幕AV网| 一卡二卡三卡| 三级片网站大全| 成人在线黄色视频| 一区二区三区操逼| 国精品无码一区二区三区在线 | 日韩一级在线| 欧美一级黄片免费看| 久久久久久久AV| 欧美成人无码一区二区三区| 成人三级毛片| 免费看黃色AAAAAA片| 一区二区亚洲| 性欧美XXXX| 91色色色色| 欧美A色| 口爆吞精在线| 三级片中文字幕| 日本高清一区二区高清免费视频| 亚洲无码A区| 骚逼免费观看| 日韩婬乱片A片AAA真人视频| а√最新版天堂中文在线| 在线看片a| 插穴网| 国产欧美综合一区二区| 色婷婷五月天在线观看| 97人人草| 日韩aaa| 免费黄色小视频在线观看| 免费A级黄片| 日产精品久久久久| 麻豆A∨在线| 91在线精品视频| 久久爱91| 九九九九综合| 亚洲人妻无码视频| 91人妻无码一区二区三区| 久久久久国产一区二区三区四区 | 欧美视频在线观看一区| 91人妻人人澡人人爽精品| 中文无码日韩欧美久久| 欧亚毛片| 无码精品人妻一区二区| 免费作爱视频| 久久久久久穴| 香蕉福利视频| 亚洲激情成人| 久久国产精品99久久人人澡| 大香蕉久久久久久| 人人爱人人插| 亚洲wwwwww| 99热日韩| 激情精品| 波多野结衣黄色视频| 北条麻妃无码在线视频| 国产精品理论片| 成人小说一区二区三区| 草逼网站| 俺来也影院| 色婷婷一二三精品A片| 四虎综合| 8050午夜网| 青青草视频免费看| 91人妻人人澡人人爽人人玩| 婷婷九九| 国产一级a| 久久婷婷热| 五月天综合视频| 激情综合婷婷| 北条麻妃在线观看香蕉| 天天操超碰| 91麻豆香蕉| 在线观看黄色小视频| 玖玖热在线视频| 影音先锋成人AV资源| 99黄色| 成人喷水亚洲一区无码| 亚洲日韩AV电影| 日本做爱视频| 黄色AA片| 欧美视频手机在线| 香蕉操逼| 91九色在线观看| 6969电视影片最新更新| 久久久久久久免费无码| 大香蕉在线伊| 免费黄色小视频| 无码三级午夜久久人妻| 国产精品自拍偷拍| 老女人的逼| 94精品人人人| 亚洲免费观看高清完整版在线观| 亚洲免费视频在线播放| 操逼大毛片| 欧美国产性爱| 插插菊花综合网| 色香蕉视频在线观看| 精品在线播放视频| 福利毛片| 丝袜制服中文字幕无码专区 | 国产一级黄| 内射精品| 亚洲七区| 91av无码| 亚洲AV官方网站| 婷婷中文字幕亚洲| 97人妻人人揉人人躁人人 | 91精品少妇高潮一区二区三区不卡| 伊人看片| 黄色视频| 国产免费av在线| 一区二区三区四区免费观看| 黑人无码一二三四五区| 不卡视频一区| 九九精品热| 老司机精品视频在线观看| 精品超碰| 欧美色交| 女人18片毛片60分钟翻译| 午夜久久电影| 天天精品| 成人免费啪啪视频| 欧美成人手机在线| 天天舔| 国产美女精品视频| 人人鲁人人操| 777在线视频| 中文在线第一页| 日批免费视频| 久久久久久国际四虎免费精品视频 | 色999在线播放视频| 中文字幕视频免费| 青青草免费公开视频| www人人操| 一区二区三区久久久久〖网:.〗| 黄色无码视频| 亚洲天堂在线免费| 黄色视频亚洲| 激情婷婷亚洲| 无码一区二区三区在线观看| 国内操B电影| 91丨国产丨白浆| 精品乱子伦一区二区三区| 91丨九色丨蝌蚪丨对白| 久久久久无码精品国产91福利| 成人黄色网| AV天堂资源| 91在线视频精品| 国产午夜福利免费视频在线观看| 先锋av资源网| 国外成人视频| 青青操成人在线视频| 日本欧美在线| av亚洲波多野结衣白嫩水多波| 亚洲精品国产精品国自产曰本| 国产精品久久久无码专区| 麻豆成人网| 免费无码毛片一区二区A片小说| 久久久国产精品在线| 日韩亚洲在线| 欧美日韩国| jk在线观看| 亚洲国产精品久久久久婷婷老年| 男人天堂大香蕉| 欧美日韩国产在线| 黄色录像毛片| 国产无遮挡又黄又爽免费网站| 日韩无码a| 99久久精| 91一区二区在线观看| 蜜芽成人网| 无码日韩AV| 中文字幕手机在线视频| 8050午夜| 婷婷五月天性爱| 操逼网站视频| 久久综合17p| 91工厂露脸熟女| 福利视频在线| 久久久久三级片| 亚洲av大片| 99色网站| 免费看黄片视频| 青青草国产亚洲精品久久| 精品乱子伦一区二区三区毛| 97大香蕉视频| 人人爱人人插高清| 亚洲一区二区在线视频| 午夜午夜福利理论片在线播放| 欧美午夜黄片| 6969电视影片最新更新| 你懂的网站在线观看| 国产中文字幕AV在线播放| 国产免费无码视频| 中文字幕成人| 国产精品久久久久久无码人妻| 中文无码字幕| 熟女人妻在线观看| 大香蕉现在视频中心一| 尹人在线视频| 激情AV在线观看| 蜜臀AV在线播放| 狼人色影院| 国产区欧美去区在线| 97在线鲁碰免费视频| 亚洲字幕在线观看| 成人三级黄色| 91成人无码看片在线观看网址| 亚洲色视频在线观看| 成人午夜黄片| 91爱看| 操骚屄视频| 亚洲中文字幕无码爆乳av| 波多野结衣av在线播放| 中文字幕av网站| 亚洲欧美在线观看视频| 国产精品国产三级国产AⅤ| 一级A片60分钟免费看| 男人的天堂一区| 色情视频在线观看| 18禁一区二区| 蜜桃视频在线观看18| 婷婷久久综合久| 成人福利小视频| 淫色淫香综合网| 婷婷五月天丁香成人社区| 丁香五月影院| 国产剧情一区二区| 免费在线黄色电影| 男女AV网站| 丁香婷婷五月| AV网站免费在线观看| 久久日av| 国产成人无码区亚洲A片356p| 日韩操比视频| 2025中文字幕| 麻豆一二三区| 人人干人人摸| 黄色电影网站在线观看| 91久久久久久久91| 婷婷久久综| 爱爱视频天天操| 国产免费无码| 亚洲成人二区| 青草午夜| 猛男大粗猛爽H男人味| 先锋影音男人资源站| 国精产品一区二区三区黑人和中国 | 波多野结衣一区二区| 看肏屄视频| 亚洲乱论| 西西人体大胆ww4444| 亚洲中文中出| 黄网站在线观看| 安微妇搡BBBB搡BBBB| 苍井空中文字幕在线观看| 欧美午夜网站| 青青草视频免费| 青青草原在线视频| AV在线影院| 99都是精品| 成人精品三级AV在线看| 日本内射在线播放| 无码AV高清| 亚洲精品第一页| 久久久久久久久久久久高清毛片一级| 国产激情av| 污污污污污www网站免费观看| 日韩一级性爱| 国产欧美性爱| 国产麻豆一区二区三区| 国产清纯可爱美女自卫裸贷偷情| 欧美一级性爱视频| 欧美AAA| 男女啪啪免费| 久久婷婷色| 黄色视频在线| 免费高清无码视频| 国产在线高清| 老司机无码| 天天视频色| 中文字幕在线免费观看电影| 亚洲欧美熟妇久久久久久久久 | 人妻少妇一区二区三区| 亚洲欧美另类色图| 国产无毛| 国产又色又爽又黄又免费| 综合伊人大香蕉| gogogo高清在线观看免费直播中国 | 草av| 久久性| 91精品在线免费观看| 久久九九国产精品怡红院| 成人A片一级| 西西特级WWW444无码| 亚洲人人色| 超碰成人在线观看| 国产精品免费观看久久久久久久久| 精品视频在线免费| 天堂中文在线视频| 成人AV三级片| 97人妻一区二区精品免费视频| 操日本老女人| 一起草在线视频| 一级免费爱爱视频| 成人在线视频免费观看| 在线无码不卡| 亚洲不卡一区二区三区| 熟女视频国产| 肏屄视频在线| 国内精品久久久久久久久98| 麻豆一区视频| 色五月视频| 黑人精品欧美一区二区蜜桃 | 大香蕉老师| 日韩AV电影网| 国产18| 中文字幕2025年最好看电视剧| 国产人成视频| 91人妻人人澡人人爽人人精品 | 亚洲无码一区二区在线观看| 熟女人妻在线| 操逼网视频| 在线观看黄色视频网站| ww久久| 九九九网站| 国产欧美日韩综合| 69AV在线视频| 久激情内射婷内射蜜桃欧美一级 | 日日搔av一区二区三区| AA片免费| 超碰亚洲| 激情黄色视频| 成人在线网址| 抽插逼| 精品三区| 亚洲色小说| 欧洲三级网观看| 蜜桃网站视频| 亚洲中文字幕AV| 97三级| 婷婷亚洲精品| 黑人AV在线播放| 日韩一页| 大鸡吧视频在线观看| 69久久久久| 五月丁香婷婷开心| 无码视频免费| 天天日夜夜艹| 三级无码片| 国产乱伦视屏| 91国产做爱| 亚洲欧美成人网| 欧美自拍视频在线| 在线欧美日| 久久嫩草精品久久久久精| 精精品人妻一区二区三区| 蜜臀99久久精品久久久懂爱| 激情小说在线观看| 操干视频| 天天做天天爱天天高潮| 欧美精品区| 特级西西444WWW高清| 91av一区二区| 九九r在线精品观看视频| 婷婷99狠狠躁天天躁| 国产伊人在线| 中文字幕av一区| 99在线精品视频在线观看| 操逼在线观看| 91在线无码精品秘| 亚洲日韩精品在线观看| 嫩BBB搡BBBB搡BBBB-百度| 免费成人在线网站| 国产乱子伦真实精品| 国产色五月| 国产精品无码在线播放| 足交在线播放| 成人做爰100部片视频| 大香蕉一区二区三区| 在线观看视频黄| 西西特级WWW444无码| 男女啪啪啪网站| 日韩毛片在线视频x| 日韩无码网| 久久草草热国产精品| 在线亚洲欧美| 久久91精品| jzzijzzij亚洲成熟少妇在线观看| 色偷偷综合| 亚洲免费高清| 操逼操逼操逼操逼| 国产精品视频免费在线观看| 日韩在线一区二区三区四区| 日韩一区二区在线看在线看| 免费做爱视频网站| 亚洲无码视频免费观看| 婷婷五月在线观看| 国产精品视频免费在线观看| 免费性爱网站| 日韩精品无码人妻| 久久成人18免费网站波多野结衣| 超碰69| 一级黄色电影网站| AAAA毛片| 中文字幕无码人妻在线视频| 东京热黄色电影| 先锋AV资源网| 欧美自拍一区| 成人性生活A级毛片网站| 亚洲免费三级片| 九九精品国产| 国产免费一级片| 色天堂污| 一级黄片免费视频| 影音先锋乱伦电影| 国产性交网站| 中文字幕综合网| 亚洲视频综合| 蜜臀AV成人精品| 亚洲精品乱码久久久久久| 亚洲高清超级无码在线视频观看| 草逼综合网| 久久综合加勒比| 懂色在线精品分类视频| 精品内射| 先锋资源av| 国产精品V| 伊人久久国产| 激情内射网站| 91麻豆精品国产91久久久久久| 二区视频在线| 亚洲人成77777| 亚洲高清无码播放| 日韩东京热中文字幕| 加勒比无码在线| 精品国产乱码久久久久久郑州公司| 爱操逼网| 日本三级黄色| 操学生妹| 大香蕉在线啪啪| 日韩精品极品视频在线观看免费| 鲁鲁鲁鲁鲁鲁鲁777777| 日韩va亚洲va欧美va高清| 日韩免费福利视频| 黄色成人网站在线观看| 国产无码电影| 欧美自拍视频在线观看| 少妇人妻无码| 亚洲欧美日韩电影| 老婆中文字幕乱码中文乱码| 色五月在线视频| 日韩色婷婷| jt33免费观看高清| 久久久久久久久黄色| 亚洲av高清| av黄色网| 天天操天天干麻豆| 农村新婚夜一级A片| 国产性爱自拍一下| 欧美中文字幕在线| 国产无码网站| 日韩一级a片| 无码人妻丰满熟妇| 人人妻人人爽人人澡人人精品| 91丨国产丨熟女熟女| 一级国产欧美成人A片| 国产3级片| 国产熟女露脸普通话对白| 丰满人妻一区二区三区四区53| 成人A片网| 三级视频国产| 人妻中文字幕av| 日韩蜜桃视频| 伊人色色| 国产女人18毛片水18精品软件| 国产精品探花熟女AV| a在线观看免费| 欧美性爱香蕉视频| 黄色无無| 91国产做爱| 日韩操B| 日韩成人电影| 欧美天天干| 91视频在线观看免费| 波多野结衣一区| 高潮喷水在线观看| 91乱子伦国产乱子伦| 成人毛片在线观看| 欧美男人天堂| 国产乱子伦一区二区三精品| 99热在线看| 殴美A片| h片在线观看免费| 亚洲精品午夜精品| 国产色情在线| 操逼网站免费观看| 99在线精品视频免费观看软件| 91人妻在线视频| 狠狠天天| www.天天操| 躁BBB躁BBB添BBBBBB| 亚洲精品成人无码毛片| 欧美成人在线网站| 亚洲av在线免费观看| 91精品国自产在线观看| 超碰操逼| 色五月视频| 91久久国产| 日本一区二区不卡| 国产乱伦免费| 久久久五月天| 在线观看a片| 久久久三级片| 国产一区| 日韩中文性受视频| 亚洲性爱AV网站| 97人妻碰碰中文无码久热丝袜| 日韩中文字幕一区二区三区| 亚洲午夜无码精品专区| 黄色录像一级带| 人妻无码精品久久人妻成人| 国产成人精品毛片| 996精品在线| 成人中文字幕在线视频| 国产高清无码免费在线观看| 97午夜福利视频| 97干网| 黄色成人在线观看视频| 99热免费精品| 天天日狠狠操| 日韩精品一区二区三区黄冈站长| 色哟哟无码| 美女久久久| 欧美级毛片一夜| 日韩精品不卡| 婷婷五月天激情小说| 99无码秘蜜桃人妻一区二区三区| 91久久国产综合久久91| 中文字幕精品人妻在线| 韩国三级HD中文字幕2019年| 伊人久久在线| 91操视频| 大色鬼在线天堂精品| henhengan| 欧美三级网址| 一级免费黄色视频| ThePorn-成人网站入口| 亚洲第一色图| 无码免费一区| 麻豆网站| 超碰在线中文字幕| 在线视频中文字幕| 色色欧美视频| 国产盗摄AV| 欧美一级日韩三级| 亚洲午夜福利视频在线观看| a√天堂资源中文8| 刘玥一区二区| 亚洲人成色777777无码| 亚洲五月天在线| 亚洲免费网| 国产女18毛片多18精品| 精品福利导航| 色狠狠网| 青青免费视频| 亚洲黄色小电影| 91蜜桃视频在线观看| 抽插免费视频| 九九精品在线观看| 亚洲成人综合在线| 亚洲中文字幕免费观看| 亚洲一区二区成人网站戴套| 91大神免费观看| 做爱网站在线观看| 91视频首页| 成人免费黄色网| 亚洲欧美卡通| 亚洲性爱影院| H无码| 玖玖在线视频| 国产日韩性爱视频| 亚洲AV片一区二区三区| 天天日日日干| 国产肏屄| AV高清| 91国产爽黄在线| 亚洲欧美成人在线| 土牛AV| 亚洲无码高清电影| 欧美激情一级| 日韩欧美中文字幕在线视频| 91蜜桃网| 波多野结衣AV在线播放| 蜜桃视频网| 在线观看视频日韩| 丁香五月激情啪啪| 伊大香蕉| 亚洲一区二区三区视频| 草草网站| 夜夜国自一区| 国产精品怡红院有限公司| 乱伦91视频| 亚洲秘无码一区二区三区电影 | 2021国产视频| 亚洲最大视频| 在线观看国产免费视频| 天天日天天干天天操| 777性爱| 欧美被操| 色欲影音| 亚洲精品国产成人综合久久久久久久久 | 黄色操逼片| 久久久成人免费视频| 亚洲一区在线免费观看| 伊人网在线视频观看| 国产亚洲久一区二区| 国产精品成人3p一区二区三区| 99re这里只有精品6| 97AV人妻无码视频二区| 亚洲中文字幕高清| 国产高潮视频| 波多野结衣无码流出| 久久免费成人电影| 日本一本草久p| 黄色直播在线观看| 激情网站在线观看| 伊人三区| 91丨PORN首页| 国产l精品久久久久久久久久| 开心深爱激情网| 成人精品在线视频| 亚洲无码AV麻豆| 欧美国产另类| 特黄AAAAAAAAA真人毛片| 日本a在线观看| 一区二线视频| 国产色黄视频| 色999亚洲人成色| 山西真实国产乱子伦| 97国产超碰| 成人无码视频| AA免费视频| 国内精品久久久久久久久久| 亚洲怡春院| 国内自拍视频在线观看| 国产嫩草久久久一二三久久免费观看| 欧美精品在线免费观看| 人妻无码一区二区三区| A在线| 性爱综合网| 在线看V片| 亚洲欧美另类色图| 九色PORNY蝌蚪自拍视频| 五月综合激情| 天天视频狠狠狠狠| 人人干人妻| 亚州高清无码视频| 91蝌蚪| 怍爱视频| 精品视频在线看| 3d动漫精品H区XXXXX区| 日韩高清无码中文字幕| 草久精品| 三级片无码在线| 911精品人妻一区二区三区A片| 成人在线视频网| 91狠狠爱| 波多野结衣在线精品| 久久久久久97| 18禁在线| 亚洲国产精品欧美久久| 九一国产在线| 熟妇人妻中文AV无码| 亚洲视频区| 日韩无码黄色电影| 国产精品久久久久久久久久久久久久久| 亚洲无码黄片| av中文在线| 黄色视频A片| 欧美a区| 悠悠色综合| 91色视频在线观看| 隸則av| 久操视频免费| 成人在线网站| 日韩无码你懂的| 成人午夜av| 九九色视频| www日本色| 91成人小视频| 丁香五月色| 肏婷婷| 一级a免一级a做免费线看内裤| 免费黄色三级片| 久久免费精品| 99在线观看视频在线高清| 亚洲综合在线观看视频| 免费日逼视频| 国产精品久久久久国产A级| 亚洲AⅤ无码一区二区波多野按摩 69国产成人综合久久精品欧美 | 特级西西444WWW大精品视频 | 插吧插吧网| 先锋影音亚洲AV每日资源网站 | 欧美三级欧美一级| av久| 国产成人无码一区二区在线播放 | 久久无码一区二区| 国产福利91精品| 国产另类自拍| 中文字幕日韩亚洲| 日本黄色免费看| 91久久影院| 午夜乱轮| 91精品人妻一区二| 国产人国产视频成人免费观看… | 国产Aⅴ| 亚洲色图欧美| 国产精品啪啪啪啪| 欧美黄片一区| 玩弄小怮女在线观看| 亚洲狼人久久久精品| 一区二区无码高清| 日韩精品区| 欧美激情亚洲无码| 国产精品无码ThePorn| 一级欧美一级日韩| av天堂小说网| 日韩精品人妻无码| 99在线精品视频| 扒开让我91看片在线看| 午夜网页| 北条麻妃一区二区三区-免费免费高清观看 | 国精产品一区二区三区| 黃色毛片A片AAAA级20| 国内自拍无码| 91国产精品| 成人免费视频网站| 蜜芽成人在线| 国产精品欧美综合在线| 中文字幕牛牛婷婷| 少妇在线| 伊人性视频| 亚洲一级视频在线观看| 操逼综合| 日韩极品在线观看| 大香蕉久操视频| 68久久久| 爱就色色网| 国模吧一区| 91亚洲在线观看| 伦理被部长侵犯HD中字| 99国产精品99久久久久久| 深爱五月天| 日本黄色一级| 免费中文字幕| 亚洲先锋影音| 国产性爱AV| 天天毛片| 51精品国产| 午夜福利2025| 国产精品久久久久久精| 一级片A片| 一级一级a免一级a做免费线看内裤 | 久久久精品中文字幕麻豆发布| 天天操夜夜撸| 色老板免费精品无码免费视频| 色欲久久久| 免费黄色在线| P站免费版-永久免费的福利视频平台 | 亚洲色婷婷五月| 亚洲色图欧美另类| 国产精品视频免费观看| 亚洲最大网站| 国产一区二区AV|