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

歡迎訪問 生活随笔!

生活随笔

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

c/c++

技术干货 | C++20 四大特性之一:Module 特性详解

發(fā)布時間:2025/3/8 c/c++ 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 技术干货 | C++20 四大特性之一:Module 特性详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

導讀:C++20 標準早已封版,各大編譯器也都已支持了 C++20 中的多數(shù)特性,但迄今為止(2021.7),尚未有哪一款編譯器完整支持 C++20 中的所有特性。本文僅介紹 C++20 四大特性當中的 Module 部分。

文|馬建亭

網(wǎng)易云信資深 C++ 開發(fā)工程師

C++20 最大的特性是什么?

最大的特性是迄今為止沒有哪一款編譯器完全實現(xiàn)了所有特性。

有人認為 C++20 是 C++11 以來最大的一次改動,甚至比 C++11 還要大。本文僅介紹 C++20 四大特性當中的 Module 部分,分為三部分:

  • 探究 C++ 編譯鏈接模型的由來以及利弊

  • 介紹 C++20 Module 機制的使用姿勢

  • 總結(jié) Module 背后的機制、利弊、以及各大編譯器的支持情況

扒一扒頭文件的由來

C++ 是兼容 C 的,不但兼容了 C 的語法,也兼容了 C 的編譯鏈接模型。1973年初,C 語言基本定型:有了預(yù)處理、支持結(jié)構(gòu)體;編譯模型也基本定型為:預(yù)處理、編譯、匯編、鏈接四個步驟并沿用至今;1973年,K&R 二人使用 C 語言重寫了 Unix 內(nèi)核。

為何要有預(yù)處理?為何要有頭文件?在 C 誕生的年代,用來跑 C 編譯器的計算機 PDP-11 的硬件配置是這樣的:內(nèi)存:64 KiB 硬盤:512 KiB。編譯器無法把較大的源碼文件放入狹小的內(nèi)存,故當時 C 編譯器的設(shè)計目標是能夠支持模塊化編譯,即將源碼分成多個源碼文件、挨個編譯,以生成多個目標文件,最后整合(鏈接)成一個可執(zhí)行文件。

C 編譯器分別編譯多個源碼文件的過程,實際上是一個 One pass compile 的過程,即:從頭到尾掃描一遍源碼、邊掃描邊生成目標文件、過眼即忘(以源碼文件為單位)、后面的代碼不會影響編譯器前面的決策,該特性導致了 C 語言的以下特征:

  • 結(jié)構(gòu)體必須先定義再使用,否則無法知道成員的類型以及偏移,就無法生成目標代碼。

  • 局部變量先定義再使用,否則無法知道變量的類型以及在棧中的位置,且為了方便編譯器管理棧空間,局部變量必須定義在語句塊的開始處。

  • 外部變量只需要知道類型、名字(二者合起來便是聲明)即可使用(生成目標代碼),外部變量的實際地址由連接器填寫。

  • 外部函數(shù)只需知道函數(shù)名、返回值、參數(shù)類型列表(函數(shù)聲明)即可生成調(diào)用函數(shù)的目標代碼,函數(shù)的實際地址由連接器填寫。

頭文件和預(yù)處理恰好滿足了上述要求,頭文件只需用少量的代碼,聲明好函數(shù)原型、結(jié)構(gòu)體等信息,編譯時將頭文件展開到實現(xiàn)文件中,編譯器即可完美執(zhí)行 One pass comlile 過程了。

至此,我們看到的都是頭文件的必要性和益處,當然,頭文件也有很多負面影響:

  • 低效:頭文件的本職工作是提供前置聲明,而提供前置聲明的方式采用了文本拷貝,文本拷貝過程不帶有語法分析,會一股腦將需要的、不需要的聲明全部拷貝到源文件中。

  • 傳遞性:最底層的頭文件中宏、變量等實體的可見性,可以通過中間頭文件“透傳”給最上層的頭文件,這種透傳會帶來很多麻煩。

  • 降低編譯速度:加入 a.h 被三個模塊包含,則 a 會被展開三次、編譯三次。

  • 順序相關(guān):程序的行為受頭文件的包含順影響,也受是否包含某一個頭文件影響,在 C++ 中尤為嚴重(重載)。

  • 不確定性:同一個頭文件在不同的源文件中可能表現(xiàn)出不同的行為,導致這些不同的原因,可能源自源文件(比如該源文件包含的其他頭文件、該源文件中定義的宏等),也可能源自編譯選項。

C++20 中加入了 Module,我們先看 Module 的基本使用姿勢,最后再總結(jié) Module 比 頭文件的優(yōu)勢。

Module 的使用

Module(即模塊)避免了傳統(tǒng)頭文件機制的諸多缺點,一個 Module 是一個獨立的翻譯單元,包含一個到多個 module interface file(即模塊接口文件),包含 0 個到多個 module implementation file(即模塊實現(xiàn)文件),使用 Import 關(guān)鍵字即可導入一個模塊、使用這個模塊暴露的方法。

?實現(xiàn)一個最簡單的 Module?

module_hello.cppm:定義一個完整的hello模塊,并導出一個 say_hello_to 方法給外部使用。當前各編譯器并未規(guī)定模塊接口文件的后綴,本文統(tǒng)一使用 ".cppm" 后綴名。".cppm" 文件有一個專用名稱"模塊接口文件",值得注意的是,該文件不光可以聲明實體,也可定義實體。

main 函數(shù)中可以直接使用 ?hello 模塊:

編譯腳本如下,需要先編譯 module_hello.cppm 生成一個 pcm 文件(Module 緩存文件),該文件包含了 hello 模塊導出的符號。

以上代碼有以下細節(jié)需要注意:

  • module hello:聲明了一個模塊,前面加一個 export,則意味著當前文件是一個模塊接口文件(module interface file),只有在模塊接口文件中可以導出實體(變量、函數(shù)、類、namespace等)。一個模塊至少有一個模塊接口文件、模塊接口文件可以只放實體聲明,也可以放實體定義。

  • import hello:不需加尖括號,且不同于 include,import 后跟的不是文件名,而是模塊名(文件名為 module_hello.cpp),編譯器并未強制模塊名必須與文件名一致。

  • 想要導出一個函數(shù),在函數(shù)定義/聲明前加一個?export 關(guān)鍵字即可。

  • Import 的模塊不具有傳遞性。hello 模塊包含了 string_view,但是 main 函數(shù)在使用 hello 模塊前,依然需要再 import <string_view>; 。

  • 模塊中的 Import 聲明需要放在模塊聲明之后、模塊內(nèi)部其他實體聲明之前,即:import <iostream>; 必須放在 export module hello; 之后,void internal_helper() 之前。

  • 編譯時需要先編譯基礎(chǔ)的模塊,再編譯上層模塊,buildfile.sh 中先將 module_hello 編譯生成 pcm,再編譯 main。

?接口與實現(xiàn)分離?

上個示例中,接口的聲明與實現(xiàn)都在同一個文件中(.cppm中,準確地說,該文件中只有函數(shù)的實現(xiàn),聲明是由編譯器自動生成、放到緩存文件pcm中),當模塊的規(guī)模變大、接口變多之后,將所有的實體定義都放在模塊接口文件中會非常不利于代碼的維護,C++20 的模塊機制還支持接口與實現(xiàn)分離。下面我們將接口的聲明與實現(xiàn)分別放到 .cppm 和 .cpp 文件中。

module_hello.cppm:我們假設(shè) say_hello_to、func_a、func_b 等接口十分復雜,.cppm 文件中只包含接口的聲明(square 方法是個例外,它是函數(shù)模板,只能定義在 .cppm 中,不能分離式編譯)。

module_hello.cpp:給出 hello 模塊的各個接口聲明對應(yīng)的實現(xiàn)。

代碼有幾個細節(jié)需要注意:

  • 整個 hello 模塊分成了?module_hello.cppm 和 module_hello.cpp?兩個文件,前者是模塊接口文件(module 聲明前有 export 關(guān)鍵字),后者是模塊實現(xiàn)文件(module implementation file)。當前各大編譯器并未規(guī)定模塊接口文件的后綴必須是 cppm。

  • 模塊實現(xiàn)文件中不能 export 任何實體。

  • 函數(shù)模板,比如代碼中的 square 函數(shù),定義必須放在模塊接口文件中,使用 auto 返回值的函數(shù),定義也必須放在模塊接口文件。

?可見性控制?

在模塊最開始的例子中,我們就提到了模塊的 Import 不具有傳遞性:main 函數(shù)使用 hello 模塊的時候必須 import <string_view>,如果想讓 hello 模塊中的 string_view 模塊暴露給使用者,需使用 export import 顯式聲明:

hello 模塊顯式導出 string_view 后,main 文件中便無需再包含 string_view 了。

?子模塊(Submodule)?

當模塊變得再大一些,僅僅是將模塊的接口與實現(xiàn)拆分到兩個文件也有點力不從心,模塊實現(xiàn)文件會變得非常大,不便于代碼的維護。C++20 的模塊機制支持子模塊。

這次 module_hello.cppm 文件不再定義、聲明任何函數(shù),而是僅僅顯式導出 hello.sub_a、hello.sub_b 兩個子模塊,外部需要的方法都由上述兩個子模塊定義,module_hello.cppm 充當一個“匯總”的角色。

子模塊 module hello.sub_a 采用了接口與實現(xiàn)分離的定義方式:“.cppm” 中給出定義,“.cpp” 中給出實現(xiàn)。

module hello.sub_b 同上,不再贅述。

這樣,hello 模塊的接口和實現(xiàn)文件被拆分到了兩個子模塊中,每個子模塊又有自己的接口文件、實現(xiàn)文件。

值得注意的是,C++20 的子模塊是一種“模擬機制”,模塊 hello.sub_b 是一個完整的模塊,中間的點并不代表語法上的從屬關(guān)系,不同于函數(shù)名、變量名等標識符的命名規(guī)則,模塊的命名規(guī)則中允許點存在于模塊名字當中,點只是從邏輯語義上幫助程序員理解模塊間的邏輯關(guān)系。

?Module Partition?

除了子模塊之外,處理復雜模塊的機制還有 Module Partition。Module Partition 一直沒想到一個貼切的中文翻譯,或者可以翻譯為模塊分區(qū),下文直接使用 Module Partition。Module Partition 分為兩種:

  • module implementation partition

  • module interface partition

module implementation partition?可以通俗的理解為:將模塊的實現(xiàn)文件拆分成多個。module_hello.cppm 文件:給出模塊的聲明、導出函數(shù)的聲明。

模塊的一部分實現(xiàn)代碼拆分到 module_hello_partition_internal.cpp 文件,該文件實現(xiàn)了一個內(nèi)部方法 internal_helper。

模塊的另一部分實現(xiàn)拆分到 module_hello.cpp 文件,該文件實現(xiàn)了 func_a、func_b,同時引用了內(nèi)部方法 internal_helper(func_a、func_b 當然也可以拆分到兩個 cpp 文件中)。

值得注意的是, 模塊內(nèi)部 Import 一個 module partition 時,不能 import hello:internal;而是直接import :internal; 。

module interface partition?可以理解為模塊聲明拆分到多個文件中。module implementation partition 的例子中,函數(shù)聲明只集中在一個文件中,module interface partition 可以將這些聲明拆分到多個接口文件。

首先定義一個內(nèi)部 helper:internal_helper:

hello 模塊的 a 部分采用聲明+定義合一的方式,定義在 module_hello_partition_a.cppm 中:

hello 模塊的 b 部分采用聲明+定義分離的方式,module_hello_partition_b.cppm 只做聲明:

module_hello_partition_b.cpp 給出 hello 模塊的 b 部分對應(yīng)的實現(xiàn):

module_hello.cppm 再次充當了”匯總“的角色,將模塊的 a 部分+ b 部分導出給外部使用:

module implementation partition 的使用方式較為直觀,相當于我們平時編程中“一個頭文件聲明多個 cpp 實現(xiàn)”這種情況。module interface partition 有點類似于 submodule 機制,但語法上有較多差異:

  • module_hello_partition_b.cpp 第一行不能使用 import hello:partition_b;雖然這樣看上去更符合直覺,但是不允許。

  • 每個 module partition interface 最終必須被 primary module interface file 導出,不能遺漏。

  • primary module interface file 不能導出 module implementation file,只能導出 module interface file,故在 module_hello.cppm 中 export :internal; 是錯誤的。

同樣作為處理大模塊的機制,Module Partition 與子模塊最本質(zhì)的區(qū)別在于:子模塊可以獨立的被外部使用者 Import,而 Module Partition 只在模塊內(nèi)部可見。

?全局模塊片段?

(Global module fragments)

C++20 之前有大量的不支持模塊的代碼、頭文件,這些代碼實際被隱式的當作全局模塊片段處理,模塊代碼與這些片段交互方式如下:

事實上,由于標準庫的大多數(shù)頭文件尚未模塊化(VS 模塊化了部分頭文件),整個第二章的代碼在當前編譯器環(huán)境下(Clang12)是不能直接編譯通過的——當前尚不能直接 import < iostream >? 等模塊,通全局模塊段則可以進行方便的過渡(在全局模塊片段直接 #include <iostream>),另一個過渡方案便是下一節(jié)所介紹的 Module Map——該機制可以使我們能夠?qū)⑴f的? iostream編譯成一個 Module。

?Module Map?

Module Map 機制可以將普通的頭文件映射成 Module,進而可以使舊的代碼吃到 Module 機制的紅利。下面便以 Clang13 中的 Module Map 機制為例:

假設(shè)有一個 a.h 頭文件,該頭文件歷史較久,不支持 Module:

通過給 Clang 編譯器定義一個 module.modulemap 文件,在該文件中可以將頭文件映射成模塊:

編譯腳本需要依次編譯 A、ctype、iostream 三個模塊,然后再編譯 main 文件:

首先使用 -fmodule-map-file 參數(shù),指定一個 module map file,然后通過 -fmodule 指定 map file 中定義的 module,就可以將頭文件編譯成 pcm。main 文件使用 A、iostream 等模塊時,同樣需要使用 fmodule-map-file 參數(shù)指定 mdule map 文件,同時使用 -fmodule 指定依賴的模塊名稱。

注:關(guān)于 Module Map 機制能夠查到的資料較少,有些細節(jié)筆者也未能一一查明,例如:

  • 通過 Module Map 將一個頭文件模塊化之后,頭文件中暴露的宏會如何處理?

  • 假如頭文件聲明的實體的實現(xiàn)分散在多個 cpp 中,該如何組織編譯?

?Module 與 Namespace?

Module 與 Namespace 是兩個維度的概念,在 Module 中同樣可以導出 Namespace:

總結(jié)

最后,對比最開始提到的頭文件的缺點,模塊機制有以下幾點優(yōu)勢:

  • 無需重復編譯:一個模塊的所有接口文件、實現(xiàn)文件,作為一個翻譯單元,一次編譯后生成 pcm,之后遇到 Import 該模塊的代碼,編譯器會從 pcm 中尋找函數(shù)聲明等信息,該特性會極大加快 C++ 代碼的編譯速度。

  • 隔離性更好:模塊內(nèi) Import 的內(nèi)容,不會泄漏到模塊外部,除非顯式使用 export Import 聲明。

  • 順序無關(guān):Import 多個模塊,無需關(guān)心這些模塊間的順序。

  • 減少冗余與不一致:小的模塊可以直接在單個 cppm 文件中完成實體的導出、定義,但大的模塊依然會把聲明、實現(xiàn)拆分到不同文件。

  • 子模塊、Module Partition 等機制讓大模塊、超大模塊的組織方式更加靈活。

  • 全局模塊段、Module Map 制使得 Module 與老舊的頭文件交互成為可能。

缺點也有:

  • 編譯器支持不穩(wěn)定:尚未有編譯器完全支持 Module 的所有特性、Clang13 支持的 Module Map 特性不一定保留到主干版本。

  • 編譯時需要分析依賴關(guān)系、先編譯最基礎(chǔ)的模塊。

  • 現(xiàn)有的 C++ 工程需要重新組織 pipline,且尚未出現(xiàn)自動化的構(gòu)建系統(tǒng),需要人工根據(jù)依賴關(guān)系組構(gòu)建腳本,實施難度巨大。

Module 不能做什么?

  • Module 不能實現(xiàn)代碼的二進制分發(fā),依然需要通過源碼分發(fā) Module。

  • pcm 文件不能通用,不同編譯器的 pcm 文件不能通用,同一編譯器不同參數(shù)的 pcm 不能通用。

  • 無法自動構(gòu)建,現(xiàn)階段需要人工組織構(gòu)建腳本。

編譯器如何實現(xiàn)對外隱藏 Module 內(nèi)部符號的?

  • 在 Module 機制出現(xiàn)之前,符號的鏈接性分為外部連接性(external linkage,符號可在文件之間共享)、內(nèi)部鏈接性(internal linkage,符號只能在文件內(nèi)部使用),可以通過 extern、static 等關(guān)鍵字控制一個符號的鏈接性。

  • Module 機制引入了模塊鏈接性(module linkage),符號可在整個模塊內(nèi)部共享(一個模塊可能存在多個 partition 文件)。

  • 對于模塊 export 的符號,編譯器根據(jù)現(xiàn)有規(guī)則(外部連接性)對符號進行名稱修飾(name mangling)。

  • 對于 Module 內(nèi)部的符號,統(tǒng)一在符號名稱前面添加 “_Zw” 名稱修飾,這樣鏈接器鏈接時便不會鏈接到內(nèi)部符號。

截至2020.7,三大編譯器對 Module 機制的支持情況:

以上就是本文的全部內(nèi)容,關(guān)于 C++20 的四大特性我們介紹了其一,在后續(xù)的文章中,我們也會陸續(xù)安排另外三大(concept、range、coroutine)的解讀,也歡迎繼續(xù)關(guān)注我們。文中內(nèi)容難免會有疏漏與不足,歡迎留言與我們交流。

?作者介紹?

馬建亭,網(wǎng)易云信資深 C++ 開發(fā)工程師,主要負責網(wǎng)易云信 NERTC SDK 的開發(fā)、維護、重構(gòu)等工作,擁有多年 C++ 客戶端開發(fā)經(jīng)驗,現(xiàn)致力于跨平臺 C++ 開發(fā)。

?相關(guān)推薦閱讀?

  • 技術(shù)系列課回顧 | 網(wǎng)易云信線上萬人連麥技術(shù)大揭秘

  • 技術(shù)實踐 | Android Flutter 多實例實踐

  • 滿贈!折扣!免費送!網(wǎng)易云信年中大促來了!

總結(jié)

以上是生活随笔為你收集整理的技术干货 | C++20 四大特性之一:Module 特性详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

中文字幕美女免费在线 | av在线官网| 超碰.com | 亚洲日本va中文字幕 | 欧美一区免费在线观看 | 在线看国产视频 | 日韩av高清在线观看 | 欧美一区视频 | 国产成人在线一区 | 日韩精品中文字幕一区二区 | 国产小视频在线免费观看视频 | 黄a在线观看 | 婷婷色综合网 | 精品国产区在线 | www日韩在线观看 | 日韩综合精品 | 欧美日韩国产在线观看 | 国产在线观看免费观看 | 一本大道久久精品懂色aⅴ 五月婷社区 | 91麻豆视频| av在线免费在线 | 国产成人精品午夜在线播放 | 亚洲一区视频免费观看 | 99久久精品国产网站 | 久久综合五月天婷婷伊人 | 午夜私人影院 | 日韩综合色| 九九天堂 | 久久久亚洲国产精品麻豆综合天堂 | 99视频精品在线 | 日本九九视频 | 亚洲最快最全在线视频 | 久久黄色成人 | 高清一区二区 | av一级片网站 | 视频在线观看国产 | 91c网站色版视频 | 天天干天天天 | 日韩有色 | 国产精品videossex国产高清 | 日韩精品免费一线在线观看 | 精品a在线 | 黄色大片中国 | 国产三级精品三级在线观看 | 国产成人精品av在线观 | 4438全国亚洲精品观看视频 | 成人免费视频视频在线观看 免费 | 国产久草在线 | 国精产品999国精产品视频 | 国产精品久久久久婷婷二区次 | 99九九免费视频 | 综合国产视频 | 五月天婷婷在线视频 | 久久国产精品视频观看 | 色综合天天干 | 日日夜夜操操操操 | 最新国产精品久久精品 | 欧美另类高潮 | 久草网在线 | 免费成人在线观看视频 | 免费观看成人av | 日本中文在线观看 | 99r在线播放 | 97精品国产97久久久久久粉红 | 一本一道波多野毛片中文在线 | 久久久久久欧美二区电影网 | 国内精品视频在线 | 久草a视频 | 色欲综合视频天天天 | 国产精品精品久久久 | 久久久资源 | 91精品麻豆 | 亚洲欧洲中文日韩久久av乱码 | 久久视频在线免费观看 | 九九影视理伦片 | 免费a级毛片在线看 | 高清久久久久久 | 手机看片中文字幕 | 激情视频免费观看 | 欧美三级在线播放 | 欧美在线视频不卡 | 久久电影中文字幕视频 | 在线观看免费av片 | 97av影院 | 美女视频黄免费 | 免费精品视频在线观看 | 在线观看免费版高清版 | 欧美三级高清 | 精品国产伦一区二区三区观看方式 | 91九色在线视频 | 久久久久久毛片精品免费不卡 | 欧美国产三区 | 五月婷婷激情综合 | 国产高清在线一区 | 夜夜操天天干 | 91亚洲国产成人久久精品网站 | 欧美黄网站 | 国产成人在线免费观看 | 国产99久久九九精品免费 | 国产成人综合在线观看 | 性色xxxxhd| 九九久久视频 | 97超碰站 | 亚洲视频在线视频 | 欧美日韩国产网站 | 亚洲精品久久激情国产片 | 天天综合久久 | 国产一区私人高清影院 | 国产精品美女免费视频 | 国产精品麻豆一区二区三区 | 日韩精品视频免费在线观看 | 亚洲少妇自拍 | 在线观看国产 | 久久激情电影 | 亚洲欧美视频在线观看 | 精品久久久999 | 天天操天天色综合 | 欧美一区二区三区四区夜夜大片 | 四虎国产| 国产一区二区在线免费播放 | 国产精品乱码高清在线看 | 久久99久久99精品免视看婷婷 | 久久这里只有精品视频首页 | 一区 在线观看 | 99这里有精品| 日韩一区在线免费观看 | 国产精品麻豆果冻传媒在线播放 | 久久伊人精品天天 | 婷婷色网址 | 一级黄色a视频 | 九色免费视频 | 久久久久 | 婷婷5月色 | 欧美日韩亚洲精品在线 | 亚洲精品视频观看 | 欧美精品在线观看免费 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 三上悠亚在线免费 | 99久久婷婷国产精品综合 | 久久国内精品 | 国产精品原创av片国产免费 | 伊人亚洲综合网 | 五月天色综合 | 天天草天天插 | 久久婷婷五月综合色丁香 | 丁香花在线视频观看免费 | 久草精品在线 | 综合网av | 国产剧情av在线播放 | 国产精品一区二区你懂的 | 婷婷色综| 久久综合九色综合久久久精品综合 | 特级片免费看 | 久久久久久久av | 精品久久九九 | 国产视频2区 | 国产午夜三级一二三区 | 99精品免费观看 | 精品国偷自产在线 | 97色se| 国产91区| 在线观看视频你懂得 | 福利电影一区二区 | 久久一区二区三区日韩 | 色网站在线免费观看 | 国产麻豆果冻传媒在线观看 | 在线免费黄色 | 天堂在线一区二区三区 | 少妇精69xxtheporn | 色播五月激情综合网 | 操处女逼 | 亚洲做受高潮欧美裸体 | 91九色自拍 | 91精品一区二区在线观看 | 91 中文字幕| 亚洲色图av | 天天综合中文 | 国产成人精品电影久久久 | 色婷婷成人网 | 久久躁日日躁aaaaxxxx | 综合久久久 | 在线日韩一区 | 欧美国产不卡 | 在线黄色av电影 | 亚洲资源在线观看 | 久久精品99国产国产精 | 欧美激情奇米色 | 精品在线不卡 | 91成人在线视频观看 | 91成人精品一区在线播放69 | 国产美女精彩久久 | 最新中文字幕在线资源 | 国产成在线观看免费视频 | 国产污视频在线观看 | 久久精品99视频 | 少妇18xxxx性xxxx片 | 国产精品久久久久久久久久久久久 | 久草在线视频首页 | 91大神精品视频在线观看 | 毛片精品免费在线观看 | 久久国产精品99国产 | 99久久久国产精品美女 | 亚洲精品美女在线观看播放 | 精品免费视频. | 日本99热 | 波多野结衣理论片 | 欧美五月婷婷 | 米奇狠狠狠888 | 中文字幕在线免费观看 | 五月天视频网站 | 国产成人av网 | 亚洲午夜久久久久久久久电影网 | 在线天堂中文在线资源网 | 爱射综合 | 国产精品一区二区三区久久久 | 天天草天天操 | 中文字幕在线视频国产 | 黄色av一级片 | 免费在线观看污网站 | 精品久久久久国产免费第一页 | 天天天干天天射天天天操 | 中文字幕乱码在线播放 | 欧美性爽爽 | 二区三区毛片 | 国产精品久久久久久久久久久久午夜 | 色av资源网| 亚洲一区二区精品视频 | av黄色影院 | 中文字幕乱视频 | 久久综合狠狠狠色97 | 九九爱免费视频 | 在线电影播放 | 99久久精品无码一区二区毛片 | 99精品在线观看视频 | 国产精品igao视频网网址 | 91入口在线观看 | 黄网站色欧美视频 | 久久久久国产精品午夜一区 | 国产黄色免费在线观看 | 免费成人看片 | 亚洲作爱视频 | 亚洲最大av | 欧美日韩国语 | 国产精品一区二区在线观看免费 | 一区二区观看 | 天天射天天干天天插 | 中文字幕综合在线 | 99视频| ,午夜性刺激免费看视频 | 黄网站色成年免费观看 | 国产亚洲视频在线 | 天天操天天干天天玩 | 亚洲国产97在线精品一区 | 午夜12点 | 999成人免费视频 | 中文字幕资源在线观看 | 久久久久国产精品视频 | 久草在线高清视频 | 精品国产乱码一区二区三区在线 | 久久96国产精品久久99软件 | 五月香婷| 久久精品国产亚洲 | 久久免费视频3 | 国产精品永久免费观看 | 久久久男人的天堂 | 伊人久久五月天 | 黄网av在线 | 成人av免费看 | 国产日韩欧美在线观看视频 | 在线看黄色的网站 | 中文 一区二区 | 在线视频观看成人 | 在线精品视频免费播放 | 日韩在线国产精品 | 精产嫩模国品一二三区 | 久久久婷 | 激情欧美日韩一区二区 | 少妇av网 | 国产精品情侣视频 | 久久精品视频日本 | 免费黄在线观看 | 日韩在线电影一区 | 亚洲国产伊人 | 亚洲精品动漫久久久久 | 麻花豆传媒mv在线观看网站 | 激情婷婷在线观看 | 日本资源中文字幕在线 | 精品国产一区二区三区久久久蜜臀 | 国产精品wwwwww | 在线观看视频免费播放 | 欧美日韩一级久久久久久免费看 | 久久国色夜色精品国产 | 人人添人人澡人人澡人人人爽 | 精品久久久久久国产91 | 国产一级黄色片免费看 | 综合天天 | 99色视频在线 | 综合激情久久 | 免费看片成年人 | 亚州精品一二三区 | 免费网站v| 狠狠干五月天 | 视频一区二区在线观看 | 久久综合成人 | 在线观看爱爱视频 | 97视频免费观看 | 一区二区视频电影在线观看 | 激情开心 | 免费中午字幕无吗 | 美州a亚洲一视本频v色道 | 中文字幕免费高清在线观看 | 国产精品99久久久久久宅男 | 91在线91| 久久狠狠亚洲综合 | 毛片网在线播放 | 日韩免费网站 | 色天天 | 黄色午夜| 精品久久一区 | 波多野结衣网址 | 日本精品一区二区三区在线播放视频 | 亚洲男男gⅴgay双龙 | 日本三级香港三级人妇99 | 波多野结衣在线中文字幕 | 欧美日韩在线精品一区二区 | av久久在线 | 99视频免费播放 | 国产精品99久久久久久人免费 | 日韩av一区二区三区四区 | 91九色在线观看 | 99久久婷婷国产精品综合 | 国产日韩中文字幕 | 在线成人免费电影 | 国产第一页精品 | 国产中出在线观看 | 久久精选 | 伊人国产视频 | 狠狠干综合| 国产精品一区二区av麻豆 | 国内外成人在线 | 国产码电影| 欧美国产精品一区二区 | 国内精品久久久久久久影视麻豆 | 久久99视频免费观看 | 9色在线视频 | 97人人超碰在线 | 色婷婷综合久久久久中文字幕1 | www.日本色| 国产精品高清免费在线观看 | 在线免费观看国产视频 | 亚洲视频国产 | 六月丁香在线视频 | 日本久久久久久科技有限公司 | 97在线视频免费看 | 久久麻豆视频 | 久久99热这里只有精品 | 黄色av在| 夜夜骑首页| av不卡免费在线观看 | 国产69精品久久app免费版 | 成 人 黄 色 视频播放1 | 天天爽夜夜爽精品视频婷婷 | 亚洲综合色婷婷 | 精品电影一区 | 美女天天操 | 欧美 国产 视频 | 午夜在线观看影院 | 网站在线观看日韩 | 国产欧美精品一区二区三区 | 亚洲伊人第一页 | 日韩在线观看小视频 | 深爱激情av| 亚洲资源片 | 亚洲天天在线 | 亚州精品天堂中文字幕 | 91大神免费在线观看 | 91九色蝌蚪在线 | 久久另类视频 | 91精品国产自产91精品 | 在线观看日韩视频 | 丝袜美腿av | 久久久综合九色合综国产精品 | 成人性生交大片免费观看网站 | 成人91在线观看 | 精品国产理论 | 蜜桃视频精品 | 日本午夜在线观看 | 欧美乱大交 | 91免费在线看片 | 96国产在线| 超碰在线人人97 | 最新久久免费视频 | 91在线视频免费播放 | 91精品一区在线观看 | 黄色国产在线 | 91高清免费看| 日本黄色免费电影网站 | 国产 亚洲 欧美 在线 | 国产精品福利在线 | 88av网站| 成人久久 | av在线免费播放 | 国产123区在线观看 国产精品麻豆91 | 午夜精品电影一区二区在线 | 天天干天天插 | 在线成人免费电影 | 综合激情av | 中文字幕亚洲高清 | 97夜夜澡人人爽人人免费 | 一级大片在线观看 | 久久人人爽人人爽 | 免费在线激情电影 | 亚洲aaa毛片 | 国产精品一区二区三区久久 | 99在线高清视频在线播放 | 天天综合久久 | 狠狠干狠狠插 | 欧美性另类 | 久久夜夜爽 | 九热精品 | 缴情综合网五月天 | zzijzzij亚洲成熟少妇 | 亚洲黄色一级大片 | 国产黄色片网站 | 久久久久久久久久久福利 | 国产无遮挡又黄又爽在线观看 | 天天操,夜夜操 | 久久精品日产第一区二区三区乱码 | 久久人人插 | 成人亚洲欧美 | 99在线免费视频观看 | 免费av电影网站 | 亚洲一二三区精品 | 国产一区 在线播放 | 久久怡红院| 97av视频在线观看 | 91在线视频网址 | 欧美三级免费 | 国产剧情av在线播放 | 国产96在线观看 | 久久五月激情 | 91xav| 国产成人三级在线播放 | 色综合激情网 | 中文字幕视频一区 | 99久久毛片 | 国产精品黑丝在线观看 | 69国产成人综合久久精品欧美 | 99免费在线播放99久久免费 | 天天草天天插 | 免费看v片 | 亚洲艳情| 狠狠躁日日躁狂躁夜夜躁av | 麻豆视频免费入口 | 亚洲成人软件 | 午夜 在线 | 美女国产免费 | 热久精品 | 中文字幕资源网 | 国产手机在线观看 | 免费中文字幕 | 丁香婷婷色综合亚洲电影 | 精品一区三区 | 91探花系列在线播放 | 麻豆一级视频 | 一级黄色免费网站 | 深爱五月网 | 国产久草在线 | 中文字幕在线观看资源 | 日韩久久网站 | 久久久久久高清 | 天堂va在线观看 | 亚洲在线网址 | 精品久久久亚洲 | 91九色网站| 天天在线视频色 | 国产日本亚洲 | 国产一二三精品 | 国产亚州精品视频 | 美女在线免费观看视频 | 最近中文字幕国语免费高清6 | 成年人电影免费看 | 美女在线观看网站 | 国内精品美女在线观看 | av一二三区 | 三级大片网站 | 久久久免费视频播放 | 久草av在线播放 | 日韩精品一区二区三区免费观看 | 欧美激情视频在线免费观看 | 日韩色视频在线观看 | 黄色特一级 | 国产成年免费视频 | 丝袜美女在线 | 色久综合 | 五月婷婷综合在线视频 | 91看片在线| 国产伦精品一区二区三区高清 | 狠狠色丁香婷婷综合久小说久 | 一区二区日韩av | 欧美 日韩 国产 成人 在线 | 亚洲闷骚少妇在线观看网站 | 国产自在线 | 国产高清在线免费观看 | 97免费视频在线 | 日韩黄色免费电影 | 久久伊人免费视频 | 成人欧美一区二区三区在线观看 | 毛片网在线| 国产一区视频导航 | 91大片网站 | 中文字幕视频一区 | 黄色亚洲在线 | 激情综合色图 | 亚洲视频999 | 亚洲不卡在线 | 在线久热 | 91精品无人成人www | 三级在线视频观看 | 亚洲综合欧美日韩狠狠色 | 亚洲国产免费看 | 国产一区高清在线观看 | 国精产品一二三线999 | www看片网站 | 国产精品久久电影观看 | 91av播放| av黄色免费网站 | 最近中文字幕完整视频高清1 | 四虎影视国产精品免费久久 | 99精品国产视频 | 国产精品毛片一区二区 | 色婷婷免费视频 | 中文字幕电影一区 | 亚洲国产欧美在线看片xxoo | 999一区二区三区 | 综合av在线 | 久久久国产精品网站 | 久久国产精品系列 | 亚洲色图av | 国产视频亚洲视频 | 极品久久久久久久 | 四虎影视国产精品免费久久 | 一本—道久久a久久精品蜜桃 | 久久免费黄色大片 | 久久久久国 | 色婷婷www| 国产福利不卡视频 | 九九在线视频免费观看 | 亚洲高清视频在线播放 | 国产一在线精品一区在线观看 | 黄色三级免费 | 免费在线观看黄色网 | 四虎成人网 | 久久精品视频国产 | 久久免费精品视频 | 极品久久久久 | 亚洲狠狠操 | 日日干,天天干 | 精品久久毛片 | 国产精品网站一区二区三区 | 最近中文字幕完整视频高清1 | 成人资源站 | 人人插人人插 | 亚洲天天综合网 | 午夜在线观看一区 | 国产一区二区三区免费视频 | 麻豆视频在线 | www.777奇米| 国产精品资源在线观看 | 亚洲专区在线播放 | 日本中文字幕免费观看 | 国产成视频在线观看 | 亚洲国内精品在线 | 国产高清不卡一区二区三区 | 在线小视频国产 | 综合铜03| 国产精品 999 | 欧美激情视频在线免费观看 | 久久香蕉影视 | 99热国产精品 | 91一区啪爱嗯打偷拍欧美 | 天天色天天干天天色 | 人成在线免费视频 | 精品久久久久国产 | 婷婷丁香五 | 亚洲毛片久久 | 午夜国产福利视频 | 久久综合亚洲鲁鲁五月久久 | 伊香蕉大综综综合久久啪 | 天天干天天干天天 | 最近中文字幕在线中文高清版 | 在线观看免费av网 | 久草免费在线观看 | 色a在线观看 | 黄色成人av | 国产精品久久久免费看 | 久草电影网 | 三级av片| 日本中文字幕网 | 欧美了一区在线观看 | 麻豆 videos | 我要看黄色一级片 | 超碰97人人射妻 | 91成年人在线观看 | 亚洲精品91天天久久人人 | 国产二区视频在线 | 亚洲国产欧洲综合997久久, | 另类老妇性bbwbbw高清 | 日本午夜在线观看 | 日韩在线观看精品 | 国产理论在线 | 天天射天天操天天色 | 亚洲精品在线观看视频 | 最新高清无码专区 | 麻豆影视在线免费观看 | 一级黄色大片在线观看 | 国产精品你懂的在线观看 | 在线观看片 | 日韩www在线 | 天天综合导航 | 日韩精品一区二区三区丰满 | 中文字幕在线观看免费高清完整版 | 久久久久久久国产精品影院 | 久久精品中文字幕免费mv | 国产精品一区二区三区在线 | 99精品99 | 国产一区二区三区高清播放 | 99re久久资源最新地址 | 日本在线观看中文字幕无线观看 | 亚洲精品国产电影 | 久草视频在线新免费 | 精品人人人人 | 欧美精品在线观看免费 | 午夜精品一区二区三区免费视频 | 91麻豆精品国产自产在线游戏 | 久久蜜臀av| 久草在线视频国产 | 国产成人精品电影久久久 | 国内揄拍国内精品 | av日韩国产 | 亚洲理论片 | 久久伊99综合婷婷久久伊 | 91最新在线视频 | 操操碰| 五月综合激情 | 日日爽夜夜操 | 天天色天天上天天操 | 天天草夜夜 | 亚洲欧美日韩一区二区三区在线观看 | 免费看片日韩 | 黄色影院在线观看 | 在线观看国产中文字幕 | 日日干日日色 | 一区二区免费不卡在线 | 手机在线看永久av片免费 | 99热99re6国产在线播放 | 亚洲精品在线观看不卡 | 久久久久亚洲精品男人的天堂 | 玖草在线观看 | 久久好看免费视频 | 久久高清免费视频 | 天天干国产 | 亚洲国产精品影院 | 国产香蕉97碰碰碰视频在线观看 | 免费黄在线看 | 91精品久久久久久久久 | 亚洲成人动漫在线观看 | 天天摸天天操天天爽 | 欧美性受极品xxxx喷水 | 精品国产伦一区二区三区观看说明 | 不卡的av片 | 视频成人免费 | 在线看av的网址 | 国产亚洲一区二区三区 | 久久黄色片子 | 国产在线高清视频 | 亚洲国产播放 | 久久久69 | 久久久久区 | 精品国产乱码一区二区三区在线 | 99麻豆视频 | 黄网av在线 | 激情影院在线 | 97电影网手机版 | 日韩黄色免费电影 | 国产精品久久久久久久久久东京 | 成年人黄色在线观看 | 久久高清精品 | 亚州精品国产 | 日韩美女免费线视频 | 四虎永久免费网站 | 国产精品免费麻豆入口 | 九色91在线| 911久久| 免费观看国产精品视频 | 亚洲精品9| 婷婷综合视频 | 91亚洲网站 | 成人教育av | 日韩成人邪恶影片 | 久久乐九色婷婷综合色狠狠182 | 免费视频成人 | 免费av电影网站 | 免费精品国产va自在自线 | 天天爱天天操天天干 | 揉bbb玩bbb少妇bbb | 日韩成人不卡 | 国产a国产a国产a | 婷婷在线视频 | 波多野结衣在线视频一区 | 成人超碰97 | 亚洲视频,欧洲视频 | 久久综合婷婷国产二区高清 | 国产精品免费看 | av亚洲产国偷v产偷v自拍小说 | 高清国产午夜精品久久久久久 | 一级一片免费视频 | 91自拍91 | 色五月情| 婷婷激情欧美 | 激情一区二区三区欧美 | 久久成熟| 欧美成人xxxxxxxx | 久久在线看 | 免费视频久久 | 天天综合网入口 | 色婷婷免费视频 | 免费国产在线精品 | 欧美一区在线看 | 久久久九九 | 中文字幕在线观看第一区 | 99国产情侣在线播放 | 婷婷久久综合九色综合 | 国产看片网站 | 国产精品自产拍在线观看网站 | 欧美日韩视频在线播放 | 欧美成人在线免费 | 欧美成人影音 | 嫩草伊人久久精品少妇av | 中文字幕观看视频 | 欧美日韩99| 中文字幕中文中文字幕 | 国产小视频免费在线观看 | av在线永久免费观看 | 欧美国产日韩激情 | 日韩精品一区二 | 亚洲aaa毛片| 国产精品区免费视频 | 久久涩视频 | 国产99久久99热这里精品5 | 亚洲精品2区 | 亚洲精品视频一二三 | 97电影手机版 | 精品主播网红福利资源观看 | 日韩肉感妇bbwbbwbbw | 欧美精品久久久久久久免费 | 99热免费在线| 国产99久久久精品视频 | 蜜臀精品久久久久久蜜臀 | 国产视频一区精品 | 夜夜夜夜猛噜噜噜噜噜初音未来 | 国产日韩欧美在线播放 | 黄色一级大片免费看 | 久久综合九色综合欧美狠狠 | av在线免费网站 | 99久久精品免费看国产四区 | 在线黄色免费av | 国产91探花 | 免费av在线播放 | 久久国产精品一国产精品 | 天天se天天cao天天干 | 日韩精品一区二区三区不卡 | 亚洲成人软件 | 天堂在线v | 菠萝菠萝蜜在线播放 | 国产一区在线不卡 | 日日日日 | 亚洲精品午夜久久久久久久 | 岛国大片免费视频 | 国产午夜精品一区二区三区嫩草 | 特级毛片在线 | 久久8精品 | 国产999精品久久久久久麻豆 | 国产精品中文字幕av | 久久久国产精品一区二区中文 | 欧美了一区在线观看 | 国产一区91 | 久产久精国产品 | 精品色999 | 久久一级电影 | av成人资源 | 日韩三级中文字幕 | 久久嗨| 五月婷婷视频在线 | 国产精品美女免费视频 | 午夜三级福利 | 天天插伊人 | 永久免费精品视频 | 国产一级91 | 国产小视频在线免费观看视频 | 在线看片一区 | av在线播放观看 | 成人福利在线观看 | 国产高清视频在线播放一区 | 成人午夜性影院 | 黄色av在 | 男女啪啪网站 | 免费看污网站 | 国产男女无遮挡猛进猛出在线观看 | 欧美久久久久久久久久久久 | 欧洲一区二区在线观看 | 视频91| 成人午夜在线观看 | 麻豆一区在线观看 | 日韩在线网址 | 美女视频黄频 | 国产高清久久 | 97精品国产97久久久久久免费 | av在线免费播放 | 激情综合久久 | 亚洲伊人网在线观看 | 91污污| 91免费观看国产 | 免费在线成人av电影 | 亚洲精品永久免费视频 | 国产精品视频99 | 日韩av专区 | 日韩成人欧美 | 在线免费中文字幕 | 免费在线观看黄网站 | 黄色国产大片 | 午夜精品一区二区三区视频免费看 | 免费观看的av | 国产精品久久久久久久免费观看 | 国产成人性色生活片 | 5月丁香婷婷综合 | 欧美日韩网站 | 国产麻豆传媒 | 国产真实精品久久二三区 | 1000部国产精品成人观看 | 成人免费看片98欧美 | 国产精品igao视频网入口 | 国产成人精品一区二区在线观看 | 99久久精品免费看国产免费软件 | 久久er99热精品一区二区 | 久久久久久片 | 麻豆视频国产精品 | 日韩性xxxx | 在线观看香蕉视频 | 日日操天天爽 | 91精品国产乱码 | 日韩二区三区在线观看 | 国产成人精品一区在线 | 天天射天天搞 | 999国产 | 在线观看亚洲专区 | 天天射天天操天天干 | 99在线精品视频在线观看 | 日韩精品中文字幕一区二区 | 国产 欧美 日产久久 | 99re久久精品国产 | 九九热免费精品视频 | 成人动漫视频在线 | 最近免费中文字幕mv在线视频3 | 国产亚洲精品美女久久 | 久久久色 | 欧美三级在线播放 | 国产免费影院 | 97影视| av一区在线| 国产午夜精品视频 | 西西人体4444www高清视频 | 玖玖玖在线 | 最新国产福利 | 国产精品一区在线观看 | 亚洲午夜精品在线观看 | 99视频在线免费播放 | 97色资源 | 国产h在线观看 | 国产小视频精品 | 色美女在线 | 91麻豆精品国产自产 | 欧美日韩精品免费观看视频 | 欧美一级日韩三级 | 在线亚洲小视频 | 久久精精品视频 | 丁香婷婷综合五月 | 日韩激情在线 | 国产手机在线视频 | 欧美夫妻性生活电影 | 丝袜美腿亚洲综合 | 中文字幕资源网 国产 | 我要色综合天天 | www.久久久久 | 一区二区精 | 夜夜看av| 久久亚洲精品国产亚洲老地址 | 亚洲免费av片 | 国产在线视频在线观看 | 国产永久网站 | 久久亚洲私人国产精品 | 久久精品视频3 | www.天天成人国产电影 | 午夜精品一区二区三区视频免费看 | av在线收看 | 毛片网在线 | 玖玖视频在线 | 欧美国产精品久久久久久免费 | 青青草国产精品 | 国产色影院| 97国产精品一区二区 | 成年人毛片在线观看 | 欧美午夜理伦三级在线观看 | 亚洲二级片 | 有没有在线观看av | 欧美乱淫视频 | 蜜臀av夜夜澡人人爽人人 | 午夜精品久久久久久久久久久久 | 国产在线观看一 | 日本精品在线 | www狠狠| 五月婷婷丁香激情 | 中文字幕久久亚洲 | 成人午夜电影久久影院 | 久久久久亚洲精品国产 | 久草在线视频首页 | 色狠狠操 | 久久久www成人免费毛片麻豆 | 久久久福利 | 亚洲综合视频在线观看 | 亚洲第一区在线观看 | 91cn国产在线| 最近中文字幕第一页 | 天天天天色射综合 | 黄色av一区二区三区 | 91精品国产成人观看 | 韩日av在线 | 中文字幕国产 | 福利视频精品 | 91爱爱网址| 九九九九九九精品 | 免费看一级特黄a大片 | 国产第一二区 | 午夜婷婷综合 | 久久精品精品 | 99精品热 | 国产视频在线观看免费 | 97精品免费视频 | 亚洲欧美视频网站 | 欧美成人aa| 九九热只有精品 | 91在线看视频免费 | 欧美精品资源 | 超碰97人 | 国产精品18毛片一区二区 | 在线亚洲免费视频 | 六月丁香六月婷婷 | 东方av在线免费观看 | 欧美日韩在线精品一区二区 | 美女天天操 | av大全在线 | 色婷婷中文| 国产色拍拍拍拍在线精品 | 亚洲精品乱码久久久久久高潮 | 国产精品入口麻豆www | 奇米影视999 | www.色的 | 色婷在线| 天天操夜夜摸 | 国产精品系列在线观看 | 91免费观看 | 午夜视频免费播放 | 国产成人精品久久二区二区 | 91女人18片女毛片60分钟 | 一本色道久久综合亚洲二区三区 | 久久精品99国产精品 | 日本黄色大片免费看 | 黄色小说在线观看视频 | 日韩在线第一区 | 五月婷婷久 | 91cn国产在线 | 婷婷 综合 色 | 天天射天天色天天干 | 久久久久亚洲精品成人网小说 | 色av男人的天堂免费在线 | av在线播放快速免费阴 | 国产日韩欧美视频在线观看 | 免费日韩三级 | 成人黄色电影在线观看 | 天天爽夜夜爽精品视频婷婷 | 欧美a级一区二区 | 91成人亚洲 | 日韩精品一区二区在线观看视频 | 国产香蕉视频在线观看 | 国产成人一二片 | 久久精品伊人 | 成人黄色av网站 | 日产乱码一二三区别在线 |