不要再誤解C++ volatile了

李肖遙 2021-08-31 08:30

關注、星標公眾號,直達精彩內容

來源:https://liam.page/2018/01/18/volatile-in-C-and-Cpp/

作者:Liam Huang

最近在討論多線程編程中的一個可能的 false sharing 問題時,有人提出加 volatile 可能可以解決問題。這種錯誤的認識荼毒多年,促使我寫下這篇文章。


約定


Volatile 這個話題,涉及到計算機科學多個領域多個層次的諸多細節。僅靠一篇博客,很難窮盡這些細節。因此,若不對討論范圍做一些約定,很容易就有諸多漏洞。到時誤人子弟,就不好了。以下是一些基本的約定:


1. 這篇博文討論的 volatile 關鍵字,是 C 和 C++ 語言中的關鍵字。Java 等語言中,也有 volatile 關鍵字。但它們和 C/C++ 里的 volatile 不完全相同,不在這篇博文的討論范圍內。


2. 這篇博文討論的 volatile 關鍵字,是限定在 C/C++ 標準之下的。這也就是說,我們討論的內容應該是與平臺無關的,同時也是與編譯器擴展無關的。


3. 相應的,這篇文章討論的「標準」指的是 C/C++ 的標準,而不是其他什么東西。


4. 我們希望編寫的代碼是 (1) 符合標準的,(2) 性能良好的,(3) 可移植的。這里 (1) 保證了代碼執行結果的正確性,(2) 保證了高效性,(3) 體現了平臺無關性(以及編譯器擴展等的無關性)。


含義


單詞 volatile 的含義


在談及 C/C++ 中的 volatile 關鍵字時,總有人會拿 volatile 這個英文單詞的中文解釋說事。他們把 volatile 翻譯作「易變的」。但事實上,對于翻譯來說,很多時候目標語言很難找到一個詞能夠反映源語言中單詞的全部含義和細節。此處「易變的」就無法做到這一點。


Volatile 的意思,若要詳細理解,還是應該查閱權威的英英字典。在柯林斯高階學習詞典中,volatile 是這樣解釋的:

A situation that is volatile is likely to change suddenly and unexpectedly.

這里對 volatile 的解釋有三個精髓的形容詞和副詞,體現了 volatile 的含義。


1. likely:可能的。這意味著被 volatile 形容的對象「有可能也有可能不」發生改變,因此我們不能對這樣的對象的狀態做出任何假設。


2. suddenly:突然地。這意味著被 volatile 形容的對象可能發生瞬時改變。


3. unexpectedly:不可預期地。這與 likely 相互呼應,意味著被 volatile 形容的對象可能以各種不可預期的方式和時間發生更改。


因此,volatile 其實就是告訴我們,被它修飾的對象出現任何情況都不要奇怪,我們不能對它們做任何假設。


程序中 volatile 的含義


對于程序員來說,程序本身的任何行為都必須是可預期的。那么,在程序當中,什么才叫 volatile 呢?這個問題的答案也很簡單:程序可能受到程序之外的因素影響。


考慮以下 C/C++ 代碼。

volatile int *p = /* ... */;int a, b;a = *p;b = *p;

若忽略 volatile,那么 p 就只是一個「指向 int 類型的指針」。這樣一來,a = *p; 和 b = *p; 兩句,就只需要從內存中讀取一次就夠了。因為從內存中讀取一次之后,CPU 的寄存器中就已經有了這個值;把這個值直接復用就可以了。這樣一來,編譯器就會做優化,把兩次訪存的操作優化成一次。這樣做是基于一個假設:我們在代碼里沒有改變 p 指向內存地址的值,那么這個值就一定不會發生改變。

此處說的「讀取內存」,包括了讀取 CPU 緩存和讀取計算機主存。

然而,由于 MMIP(Memory mapped I/O)的存在,這個假設不一定是真的。例如說,假設 p 指向的內存是一個硬件設備。這樣一來,從 p 指向的內存讀取數據可能伴隨著可觀測的副作用:硬件狀態的修改。此時,代碼的原意可能是將硬件設備返回的連續兩個 int 分別保存在 a 和 b 當中。這種情況下,編譯器的優化就會導致程序行為不符合預期了。


總結來說,被 volatile 修飾的變量,在對其進行讀寫操作時,會引發一些可觀測的副作用。而這些可觀測的副作用,是由程序之外的因素決定的。


關鍵字 volatile 的含義


CPP reference 網站是對 C 和 C++ 語言標準的整理。因此,絕大多數時候,我們可以通過這個網站對語言標準進行查詢。關于 volatile 關鍵字,有 C 語言標準和 C++ 語言標準可查。這里摘錄兩份標準對 volatile 訪問的描述。

C 語言:Every access (both read and write) made through an lvalue expression of volatile-qualified type is considered an observable side effect for the purpose of optimization and is evaluated strictly according to the rules of the abstract machine (that is, all writes are completed at some time before the next sequence point). This means that within a single thread of execution, a volatile access cannot be optimized out or reordered relative to another visible side effect that is separated by a sequence point from the volatile access.
C++ 語言:Every access (read or write operation, member function call, etc.) made through a glvalue expression of volatile-qualified type is treated as a visible side-effect for the purposes of optimization (that is, within a single thread of execution, volatile accesses cannot be optimized out or reordered with another visible side effect that is sequenced-before or sequenced-after the volatile access. This makes volatile objects suitable for communication with a signal handler, but not with another thread of execution, see std::memory_order). Any attempt to refer to a volatile object through a non-volatile glvalue (e.g. through a reference or pointer to non-volatile type) results in undefined behavior.

這里首先解釋兩組概念:值類型和序列點(執行序列)。


值類型指的是左值(lvalue)右值(rvalue)這些概念。關于左值和右值,前作有過介紹。簡單的理解,左值可以出現在賦值等號的左邊,使用時取的是作為對象的身份;右值不可以出現在賦值等號的左邊,使用時取的是對象的值。除了 lvalue 和 rvalue,C++ 還定義了其他的值類型。其中,xvalue 大體可以理解為返回右值引用的函數調用或表達式,而 glvalue 則是 lvalue 和 xvalue 之和。


序列點則是 C/C++ 中討論執行順序時會提到的概念。對于 C/C++ 的表達式來說,執行表達式有兩種類型的動作:(1) 計算某個值、(2) 副作用(例如訪問 volatile 對象,原子同步,修改文件等)。因此,如果在兩個表達式 E1 和 E2 中間有一個序列點,或者在 C++ 中 E1 于序列中在 E2 之前,則 E1 的求值動作和副作用都會在 E2 的求值動作和副作用之前。關于序列點和序列順序規則,可以參考:這里和這里。


因此我們講,在 C/C++ 中,對 volatile 對象的訪問,有編譯器優化上的副作用:


1. 不允許被優化消失(optimized out);


2. 于序列上在另一個對 volatile 對象的訪問之前。


這里提及的「不允許被優化」表示對 volatile 變量的訪問,編譯器不能做任何假設和推理,都必須按部就班地與「內存」進行交互。因此,上述例中「復用寄存器中的值」就是不允許的。


需要注意的是,無論是 C 還是 C++ 的標準,對于 volatile 訪問的序列性,都有單線程執行的前提。其中 C++ 標準特別提及,這個順序性在多線程環境里不一定成立。


volatile 與多線程


volatile 可以解決多線程中的某些問題,這一錯誤認識荼毒多年。例如,在知乎「volatile」話題下的介紹就是「多線程開發中保持可見性的關鍵字」。為了撥亂反正,這里先給出結論(注意這些結論都基于本文第一節提出的約定之上):


1. volatile 不能解決多線程中的問題。


2. 按照 Hans Boehm & Nick Maclaren 的總結,volatile 只在三種場合下是合適的。


2.1 和信號處理(signal handler)相關的場合;


2.2 和內存映射硬件(memory mapped hardware)相關的場合;


2.3 和非本地跳轉(setjmp 和 longjmp)相關的場合。


以下我們嘗試來用 volatile 關鍵字解決多線程同步的一個基本問題:happens-before。


首先我們考慮這樣一段(偽)代碼。

// global shared databool flag = false;
thread1() { flag = false; Type* value = new Type(/* parameters */); thread2(value); while (true) { if (flag == true) { apply(value); break; } } thread2.join(); if (nullptr != value) { delete value; } return;}
thread2(Type* value) { // do some evaluations value->update(/* parameters */); flag = true; return;}

這段代碼將 thread1 作為主線程,等待 thread2 準備好 value。因此,thread2 在更新 value 之后將 flag 置為真,而 thread1 死循環地檢測 flag。簡單來說,這段代碼的意圖希望實現 thread2 在 thread1 使用 value 之前執行完畢這樣的語義。


對多線程編程稍有了解的人應該知道,這段代碼是有問題的。問題主要出在兩個方面。其一,在 thread1 中,flag = false 賦值之后,在 while 死循環里,沒有任何機會修改 flag 的值,因此在運行之前,編譯器優化可能會將 if (flag == true) 的內容全部優化掉。其二,在 thread2 中,盡管邏輯上 update 需要發生在 flag = true 之前,但編譯器和 CPU 并不知道;因此編譯器優化和 CPU 亂序執行可能會使 flag = true 發生在 update 完成之前,因此 thread1 執行 apply(value) 時可能 value 還未準備好。


加一個 volatile 試試?


在錯誤的理解中,此時就到了 volatile 登場的時候了。


首先我們考慮這樣一段(偽)代碼。

// global shared datavolatile bool flag = false;  // 1.
thread1() { flag = false; Type* value = new Type(/* parameters */); thread2(value); while (true) { if (flag == true) { // 2. apply(value); break; } } thread2.join(); if (nullptr != value) { delete value; } return;}
thread2(Type* value) { // do some evaluations value->update(/* parameters */); flag = true; return;}

這里,在 (1) 處,我們將 flag 聲明為 volatile-qualified。因此,在 (2) 處,由于 flag == true 是對 volatile 變量的訪問,故而 if-block 不會被優化消失。然而,盡管 flag 是 volatile-qualified,但 value 并不是。因此,編譯器仍有可能在優化時將 thread2 中的 update 和對 flag 的賦值交換順序。此外,由于 volatile 禁止了編譯器對 flag 的優化,這樣使用 volatile 不僅無法達成目的,反而會導致性能下降。


再加一個 volatile 呢?


在錯誤的理解中,可能會對 value 也加以 volatile 關鍵字修飾;頗有些「沒有什么是一個 volatile 解決不了的;如果不行,那就兩個」的意思。

// global shared datavolatile bool flag = false;
thread1() { flag = false; volatile Type* value = new Type(/* parameters */); // 1. thread2(value); while (true) { if (flag == true) { apply(value); break; } } thread2.join(); if (nullptr != value) { delete value; } return;}
thread2(volatile Type* value) { // do some evaluations value->update(/* parameters */); // 2. flag = true; return;}

在上一節代碼的基礎上,(1) 將 value 聲明為 volatile-qualified。因此 (2) 處對兩個 volatile-qualified 變量進行訪問時,編譯器不會交換他們的順序。看起來就萬事大吉了。


然而,volatile 只作用在編譯器上,但我們的代碼最終是要運行在 CPU 上的。盡管編譯器不會將 (2) 處換序,但 CPU 的亂序執行(out-of-order execution)已是幾十年的老技術了;在 CPU 執行時,value 和 flag 的賦值仍有可能是被換序了的(store-store)。

也許有人會說,x86 和 AMD64 架構的 CPU(大多數個人機器和服務器使用這兩種架構的 CPU)只允許 sotre-load 亂序,而不會發生 store-store 亂序;或者在諸如 IA64 架構的處理器上,對 volatile-qualified 變量的訪問采用了專門的指令。因而,在這些條件下,這段代碼是安全的。盡管如此,使用 volatile 會禁止編譯器優化相關變量,從而降低性能,所以也不建議依賴 volatile 在這種情況下做線程同步。另一方面,這嚴重依賴具體的硬件規范,超出了本文的約定討論范圍。


到底應該怎樣做?


回顧一下,我們最初遇到的問題其實需要解決兩件事情。一是 flag 相關的代碼塊不能被輕易優化消失,二是要保證線程同步的 happens-before 語義。但本質上,設計使用 flag 本身也就是為了構建 happens-before 語義。這也就是說,兩個問題,后者才是核心;如有其他不用 flag 的辦法解決問題,那么 flag 就不重要。


對于當前問題,最簡單的辦法是使用原子操作。

// global shared datastd::atomic<bool> flag = false;  // #include <atomic>
thread1() { flag = false; Type* value = new Type(/* parameters */); thread2(value); while (true) { if (flag == true) { apply(value); break; } } thread2.join(); if (nullptr != value) { delete value; } return;}
thread2(Type* value) { // do some evaluations value->update(/* parameters */); flag = true; return;}

由于對 std::atomic<bool> 的操作是原子的,同時構建了良好的內存屏障,因此整個代碼的行為在標準下是良定義的。


除此之外,還可以結合使用互斥量和條件變量。

// global shared datastd::mutex m;                   // #include <mutex>std::condition_variable cv;     // #include <condition_variable>bool flag = false;
thread1() { flag = false; Type* value = new Type(/* parameters */); thread2(value); std::unique_lock<std::mutex> lk(m); cv.wait(lk, [](){ return flag; }); apply(value); lk.unlock(); thread2.join(); if (nullptr != value) { delete value; } return;}
thread2(Type* value) { std::lock_guard<std::mutex> lk(m); // do some evaluations value->update(/* parameters */); flag = true; cv.notify_one(); return;}

這樣一來,由線程之間的同步由互斥量和條件變量來保證,同時也避免了 while (true) 死循環空耗 CPU 的情況。

來源整理于網絡素材,版權歸原作者所有,如有侵權,請聯系刪除,謝謝。

????????????????  END  ????????????????

關注我的微信公眾號,回復“加群”按規則加入技術交流群。

歡迎關注我的視頻號:


點擊“閱讀原文”查看更多分享,歡迎點分享、收藏、點贊、在看。

李肖遙 公眾號“技術讓夢想更偉大”,作者:李肖遙,專注嵌入式,只推薦適合你的博文,干貨,技術心得,與君共勉。
評論
  • 做藍牙音箱的工程師大概都碰過這個局面。產品要連手機放歌,要本地播開機提示音和按鍵音,還要接 App 做配網和狀態上報。三件事拆開,早先的常規做法是音頻藍牙一顆料、數傳藍牙一顆料、本地播放再掛一顆小 MCU 加一片 Flash。板子越畫越大,BOM 越算越貴,待機電流和固件工作量也跟著漲。WT2605C 出來以后,這套需求可以集成到一顆芯片,就是 WT2605C-32N,該芯片采用QFN32 封裝,4×4 毫米,把音頻藍牙、BLE 數傳和 MP3 本地播放三樣全包了。對藍牙音箱來說,最實在的好處就
    唯創知音語音芯片 2026-08-06 15:14 424瀏覽
  • 在物聯網從“萬物互聯”邁向“萬物智聯”的進程中,LTE Cat.1憑借其在速率、成本與網絡覆蓋之間的完美平衡,正成為中低速物聯網市場的絕對主力。隨著2G/3G網絡的逐步退網以及新國標對終端設備智能化、定位功能的強制要求,Cat.1模組迎來了爆發式的增長窗口。在這一關鍵節點,基于華為海思Hi2131芯片設計的LTE Cat.1模組,憑借其在能效、射頻、架構及物理規格上的底層創新,成功打破了“高性能必高功耗”的傳統魔咒,為行業提供了極具競爭力的連接最優解。核心技術優勢:重塑Cat.1能效與連接標桿海
    用戶1778981989717 2026-08-05 21:04 214瀏覽
  •                                                                        
    廣州鐵金剛 2026-08-06 17:44 228203瀏覽
  • 樓宇自控里的“巴別塔”一棟智慧樓宇、一個產業園區里,暖通空調運行著廠商私有協議,照明系統遵循專屬通信標準,變配電、門禁安防各成體系——設備間數據壁壘森嚴,上位平臺對接全靠定制化 “翻譯” 開發,不僅成本高企,交付周期也難以管控。這就是樓宇自控行業多年的痛點:協議林立、封閉林立。而破局的鑰匙,早在30多年前就已經寫好了——BACnet。作為ASHRAE制定的樓宇自控國際標準協議,BACnet是如今全球樓宇自控系統(BAS)互聯互通的“通用語言”。新風機、冷源群控、變配電、照明、門禁,凡是需要被樓宇
    飛凌嵌入式 2026-08-10 09:26 299瀏覽
  • 做儲能項目,你是怎么選控制器的?隨著工商業儲能、電網側儲能的規模化落地,作為儲能EMS“大腦”的嵌入式控制器,直接決定了整套系統的運行穩定性、數據可靠性與項目落地效率。不少從業者都踩過類似的坑:接口數量不足要額外加裝擴展模塊、戶外高溫導致設備宕機、電磁干擾引發數據丟包、軟件生態薄弱拖慢開發周期……選對儲能控制器,核心要盯準四個關鍵維度。首先看接口能力:全鏈路覆蓋,才是降本的核心。一套完整的儲能系統,需要同時對接PCS、BMS、智能電表、溫濕度傳感器、除濕機、煙感消防主機,還要連接急停開關、斷路器
    飛凌嵌入式 2026-08-11 08:46 215瀏覽
  • 摘要東莞市恒創連接器有限公司(HCHGCONN)是位于廣東東莞的連接器源頭制造工廠,專注于連接器國產替代、小間距大電流連接器、線對板連接器、線對線連接器、板對板連接器、電源連接器及定制連接器開發。公司面向工業自動化、新能源儲能、BMS、汽車電子、AI服務器、GPU供電、通信設備、醫療設備和智能家居等場景,提供從產品選型、替代評估、樣品驗證到批量交付的一站式連接方案。恒創可支持 Molex、TE Connectivity、JST、Hirose、Samtec 等國際品牌部分系列的國產替代評估。常見替
    HC003 2026-08-07 10:14 264瀏覽
  • 產品使用18V供電,配套4串鋰離子電池,需要設計一個充電器。因為輸入18V,電池最高 16.8V,壓差僅 1.2V。因為壓差太小。使用開關型的充電控制芯片不穩定。嘗試自行設計一個。整體采用分立三極管 + TL431架構,分4個功能單元:使能控制回路、限流環路、TL431 精密恒壓反饋環路、PNP 功率管主功率輸出回路;實現完整鋰電池充電邏輯。使能控制回路按鍵按下:5V 電壓經 R12 (2kΩ) 送入 NPN 管 Q3 基極,Q3 飽和導通,對地拉低 R1、R2 組成的分壓控制節點電位;該節點直
    southcreek 2026-08-07 13:45 524瀏覽
  • 一、方案簡介在Buildroot構建的嵌入式Linux系統中部署Flutter應用,主流有兩套成熟的開源方案,分別適配不同的顯示場景與開發需求:方案一:flutter-elinux(Sony開源方案)由索尼官方維護的嵌入式Linux Flutter工具鏈,既支持DRM/GBM直接渲染,也兼容Wayland、X11等多種顯示后端,場景適配性更廣。方案二:flutter-pi(輕量級嵌入器)一款輕量級Flutter引擎宿主程序,僅基于底層DRM/GBM接口實現渲染,無需依賴桌面環境,資源占用更低,更
    飛凌嵌入式 2026-08-07 09:34 246瀏覽
  • 做電池供電攝像頭、可視門鈴、戶外安防的同學應該都踩過這個坑:攝像頭要拍,ISP、sensor、無線模塊全得開著,整機電流動輒幾百 mA。一節 18650 撐不了幾天,用戶投訴“怎么又沒電了”。有人會說:加個 PIR 人體紅外不就行了?問題是 PIR 怕熱、怕寵物、怕隔著亞克力/玻璃殼,而且只能感知“有溫差的人體移動”,靈敏度飄忽。真正省電的思路應該是:讓攝像頭平時徹底睡死,只有“前面有人/有動靜”時才被一鍵喚醒——而負責這個“看門”角色的,最合適的是一顆低功耗雷達。一、為什么是雷達,而不是 PI
    唯創知音語音芯片 2026-08-07 14:44 261瀏覽
  • 讓微弱脈沖信號更清晰——鎖相放大器集成Boxcar平均器在脈沖激光、泵浦-探測、時間分辨光譜、飛行時間質譜等實驗中,真正需要測量的信號往往只出現在一個很短的時間窗口內,卻被淹沒在遠大于它的噪聲和背景之中。 針對這類穩定重復的微弱脈沖與瞬態信號,賽恩科儀為OE2052雙通道數字鎖相放大器帶來全新的Boxcar Averager功能升級:在鎖相檢測之外,進一步提供從周期波形觀察、門控測量到多周期平均的完整數字Boxcar測量鏈路。 Boxcar平均器,如何從噪聲中“截取”目標信號?Boxcar平均器
    SSI_賽恩科儀 2026-08-07 15:49 43983瀏覽
  •        很多人只見過封裝在SMD外殼里的小尺寸晶振,卻不知道一顆2016、1612甚至1210封裝的微型石英晶振,從一塊巴掌大的石英原礦,到最終能穩定起振的成品,要經過十幾道精密工序。它內部的石英晶片厚度最薄不到20微米,比普通A4紙的1/5還薄,整個生產過程里哪怕0.1微米的誤差,都會直接廢掉整批產品,這也是小尺寸晶振過去長期依賴進口,國內廠商花了十幾年才啃下量產硬骨頭的核心原因。1. 原石定向切割:0.01度的角度誤差都不能有小尺寸晶振的第一步,
    TKD泰晶科技 2026-08-07 08:43 572瀏覽
我要評論
0
點擊右上角,分享到朋友圈 我知道啦
請使用瀏覽器分享功能 我知道啦
主站蜘蛛池模板: 高清明珠奇谭| 两个人的世界在线观看| 金毛动漫库| 屠宰场娃娃完整版高清播放| 十大奇冤| 河南法治频道在线直播7:50| 铿锵锵锵免费观看电视剧大全2023| 安徽庐剧| 榆林市| 少年派2在线播放| 无法坦诚相对| Melody女超人免费观看高清| 行尸走肉第八季第五集| 暴躁妹妹国语版bgm视频下载免费| 小泽玛利亚 bt| 男男女女一起愁愁愁 | 高清如果能成为恋人| 电影爸爸,我需要你的种子免费在线| 钓鱼台国宴| 法国私人助理1982年| 我的姐妹短剧免费| 千千阙歌原唱| 男人和女人愁愁愁电视剧免费| 《星际穿越》电影| 新包青天开封奇案| 美国爸爸要播种免费看| 五十度黑电影| 斗罗大陆186| 神印王座动漫免费完整版观看| 叶子楣电影《聊斋》高清国语版| 我的健身锻炼在线观看| 老西游记全集| 短剧《权宠天下》| 木子檀檀子免费看高清| 上海滩主题曲简谱| 当我飞奔向你完整版免费| 买房人开始焦虑排不上队| 铸匠电视剧| 《越南女兵满天星》电影免费观看 | 意大利《女子护卫队》| 扫黑风暴免费播放观看| 唐人街探案3国语版在线观看免费| 娃娃脸5完整版| 通天书院| 来自星星的你2免费观看完整版| 《禁忌5》中文字幕| 赤裸特工未删除版| 庞贝末日 电影| 我的罪恶人生在线观看| 《千古玦尘》电视剧| 少女3完整版14岁| 抓娃娃免费观看完整版高清电影| 半是蜜糖半是伤免费| 《女学生的滋味》| 断刀纪录片全集| 《快乐至死》完整版免费观看| 《女超人满天星版》麦乐迪在线播放| 手工折纸衣服| 中国说唱| 无憾电影全集免费观看| 剑啸江湖粤语| 大决战电视剧1-49集| 新乱世佳人9集吃奶视频 | 《出差遇到前任》| 我漂亮的老师播放在线观看| 电影加勒比海盗4| 一起愁愁愁在线观看免费版| 爱情公寓5全集免费观看电视剧| 《九重紫》电视剧| 妈妈的职业5结局原声在线看视频 韩国剧办公室蓝色影身帽子 | 应届毕业生预征对象登记表| 少爷和我第八集| 大耳朵图图动漫| 《花子vs倔强驱魔师4》免费观看| 暮光之城 破晓| 上位 电影| 跟部长一起去出差旅行住同一个房间| 肥妻重生王妃拽又飒| 一个陌生女人的来信下载| 私人航空电影在线免费观看。| 新闻女王粤语免费观看| 中国新说唱2019| 洒店激战《1一5》集在线免费观看视频| 渣男退散短剧全集| 我们的秘密泰剧在线观看全集| 两个人免费完整在线观看hd| 我本将心向明月短剧免费观看| 三年的大片免费观看国语完整版| 极限诱哄短剧免费全集| 央媒评2.2亿彩票事件| 日产精品免费网站的评分系统| 插曲视频在线观看中文| 郑州刚发生的打架的事| 男人和女人一起愁愁愁电视剧观看| 在异世界迷宫开后宫动漫在线观看| 爱情雨好看吗| 美姊妹赤板栗完整版在线观看 | 19岁在线观看| 《法国空乘10| 准备好了没恐怖电影在线观看| 破冰电影完整版在线观看| 日剧维修工人上门维修| 写的比较细的开车故事| 芭比梦幻仙境| 花千骨电视剧| 聊斋艳谭之孽欲孤鬼| 韩国七公主| 包青天之黄金梦| 电击小子第3部四圣团| 插曲的痛30集全集免费播放百度云资源| 幼儿园男童送女孩200克金条| 沈樵第二部闺蜜20分钟| 《法国空乘5:满天星》 | 《替夫还债》的日本电影中文| 电影《顶级特工》| 战狼6免费高清版视频| 帝女花电视剧| 你是我的荣耀在线观看免费完整版 | 实况足球8中文解说版| 法国版《俄罗斯女子学院》| 男按摩师一级免费电影| 藜麦的正确吃法| 如果爱湖北卫视| 法国空姐八部曲系列| 河南戏曲频道在线直播| 指环王:力量之戒第二季| 欧美黑白配在线| 豹在线观看| 需要爸爸的种子电影| 海棠依旧电视剧全集免费观看完整版| 公之孚手中字22| 覆雨翻云粤语全集| 匹夫演员表| 同人电影| 存在即合理英文| 五一节后要上6天班| 只是结婚的关系免费观看电视剧| 县委大院电视剧剧情介绍| 唐朝诡事录免费全集播放| 前任四电影免费观看| 电视剧金牌律师| 高清只是朋友2:梦想天开未删减| 女社长紧缚奴在线观看| 扫毒免费观看完整版电影| 百度战曲| 王月天!激情小说| 追鱼电视剧| 隐藏的帽子韩国版在线观看| 南来北往电视剧剧情介绍| 《需要爸爸播种子》免费观看在线播放_HD/未删减_1080P高清电影完整版 - 天堂 | 皇家反千组国语| 麦乐迪melody与父亲在线观看 | 变成黑辣皮之后第1集| 法国少女农场高清在线看中文 | 爱丫爱丫在线观看高清电视剧| 明日战记电影免费观看完整版| 夏目彩春57部在线电影| 《诱人的岳 1》李银美| 肉蒲团迅雷下载| 地下偶像动漫免费观看全集| 娇妻被黑人下药征服| 电影克莱尔的迷宫在线观看| 决战天门插曲| 杜拉拉之似水年华下载| 1—5集免费普通话版| 春节晚会2020| 3d肉蒲团迅雷下载| 需要爸爸的种子播种电影| 惊天魔盗团2百度网盘| 今生有你电视剧| 黑白配在线播放免费观看| 电影匹夫| 真命小和尚| 荣誉守则免费完整版观看| 妖精尾巴中文| 暖暖的味道| 神犬小七第三季免费观看完整版| 搬家工的绝遇2免费看| 十大奇冤电视剧| 少女的世界第10集| 金牌女销售| 有罪之身| 《绝对权力》在线观看| 图书馆的女友(日漫)第五集| 高清《秘密森林》电视剧| 高清《飞驰人生2》在线观看地址| 丹凤县| solo hd| 加菲猫大电影普通话| 再次我的人生第二季| 法国空乘4观看| 谁与争锋电视剧| 年代秀20120622| 战狼6在线观看依人影院| 淑女飘飘拳免费观看| 偷窥无罪2| 电影香醇的锈感| 《姐姐的朋友2》| 黑帮总裁| 一闪一闪亮晶晶 电视剧| 美国银瓶梅| 侏罗纪世界在线观看| 五号特工组第3部| 美国电影《沟壑难填》女主角是谁| 小野纱里奈| 黑帮的我成了高中生电视剧免费观看| 暴躁老妈全集免费观看高清版| 救世主电影免费观看在线| 电影《峡谷》| 《女特警满天星版》在线电影| 拔哥的故事| 电视剧妈妈无罪| 酒店1-75集免费观看| 小巷人家免费播放的电视剧| 男按摩师理论片| 飞驰人生1免费观看全集| 《满天星版·波斯女人》百度 | 修理公艳遇之手中2完整版| 法网狙击 粤语| 温柔的背后吻戏| 高压监狱2在线看免费完整| 小唐璜情史中文版| 潜罪犯粤语| 《入室暴行》国语在线| 女婿爱上母娘免费版电视剧2| 爱在空气中第二部| 二人转月牙五更| 兔子先生第一季第6期| 搜查瑠公圳未删减| 我的抗战之猎豹突击高清| 木下檀檩子免费观看高清版| 毒医嫡女:下毒医术超精通全集免费| 咒术回战第三季| 四平青年之浩哥大战古惑仔高清| 女员工的付出部长(中字)| 电影心灵奇旅| 三国机密之潜龙在渊免费观看| 麦乐迪马克斯女超人电影| 真心英雄电视剧| 踏血寻梅电影免费完整观看| 女员的付出中字1230| 婆婆来了分集介绍| 熊出没狂野大陆| 星辰变第二季免费完整版| 花子小姐与倔强驱魔师| 黑暗荣耀2无删减韩剧在线播放| 善良的妻子手机在线观看| 《混血的摇篮曲》日本| 夏家三千金第一部| 团鬼六:绳责| 拳霸4在线完整版免费观看| 瘦子3| 电视剧铁核桃| 斗罗大陆3龙王传说第四季免费观看 | 他为什么依然单身电视剧免费观看| 俘虏之锁未删减完整版第3集| https://www.shengyitech.com/play/wlexlq.html| 山东高密砍人案件| 艳母2| 浪迹天涯高清| 王朝的女人| 南乐县| 讨厌的部长| 电影窗外| 大明星在线播放完整版电影| xl司令第二季全集免费观看动漫| 刘晓燕民间小调| 向往的生活第5季| 我年轻瘦子8| 三级片《越南性的暴行| 金汉斯烤肉自助| 电视剧无忧渡在线观看| 男按摩师做乳房按摩视频日韩电影 | 房屋销售的秘密韩剧| 荣誉守则(成人版)在线观看| 火辣儿媳| 国模小树| 荷尔蒙6在线观看免费版第三季| 她很漂亮 电视剧| 强壮的公么征服免费看| 豚鼠系列1:恶魔实验完整版| 赛伦1995年意大利电影| 新梁山泊与祝英台| 500篇艳妇短篇合换爱小说| 《战争之暴行女囚》| V酒店电影| 新还珠格格51| 继续宠爱十年音乐会| 妈妈照顾儿子同学电影免费观看 | 妈妈的厨房爆火短剧| 《荣誉守则》凯登免费观看| 法证先锋1国语全集| 七夕潘甜甜牛郎织女资源| 德古拉元年| 《玛丽玛丽》满天星中文| 加菲猫大电影2024国语版| 一只跳蚤的自传1976年版| 曹查理电影大全免费观看国语 | 女社长紧缚奴在线观看| 《急诊护士》| 恶之花在线播放| 婚姻攻略全集免费观看| 第二次被异世界召唤| 东北往事电视剧全集| 顺流逆流粤语| 四个少妇精油按摩在线观看| 巴基斯坦地图中文版| 老舅1-27集全免费播放| 女超人(啄木鸟)满天星百度网盘| 八仙全传之八仙过海全集| 黄凯芹经典歌曲| rapper高清在线观看免费大全| 战狼6欧式少女经典片段| 纵情秘史| 爱的代价电视剧| 激情厨房3| 哲学与人生傅佩荣| 甜蜜惩罚完整版| 无颜之月在线观看全集电视剧高清| 已婚妇女火辣的下午电影| 倪大红版林海雪原免费观看 | 无极在线观看| 妖女十八招| 非洲人和和人配人视频| overflwer全集免费播放| 神乐坂惠电影| 李阳疯狂英语全集| 白燕升个人演唱会| 福利片《需要爸爸播种子》HD中字免费在线播放 - 酷客影院 | 战狼6免费下载高清资源| 红蜘蛛第3部| 胭脂霸王电视剧| 男人们的恋爱2| 上门推销内衣女销售员2在线播放 美味快递员特殊待遇2在线观看免费高清 | 姐妹牙医观看完整版| 鬼夫 电影| 新世界孙红雷电视剧| 延安市| 由菱开始电影免费观看| 长跑呼吸| 妈妈我想你高清日本免费视频| 枝村电影| 爱我就别想太多免费播放电视剧高清| 男人不难嫁片尾曲| 少儿不宜美国电影| 漂亮小瘦子7电视剧免费观看| 侦探成旭3| 故宫开车| 继拇2| 《漂白》| 白峰国语版在线观看全集| 麻将电影| 壮志凌云女版满天星高清完整版| 千纸鹤怎么折| 奔跑吧兄弟20141226| 爸爸的种子伦理剧| 他来自胡志明市2| 高清《神与律师事务所》电视剧| 酒店激战第1-5集免费观看伊丽莎白尖| 中印冲突来龙去脉| 峰爆 电影| 万历首辅张居正下载| 插曲痛全集高清资源下载 | 地下偶像动漫免费观看全集| 《插曲的痛》免费播放完整| 余罪第三季全集免费在线看| 一一影视| 踏血寻梅完整版电影观看国语| 完颜之月| 低碳经济首次出现的官方文件是| 《快递员4:特殊待遇》| 大侦探霍桑免费观看| 年轻的后妈在观整有限中字| 战狼6欧美版完整资源| 法国《少女1979》完整版电影| 战狼6欧式少女全部视频 | 一起嗟嗟嗟30分钟免费观看电视剧| 平凡职业造就世界最强第二季| 女超人满星版麦乐迪北欧精灵| 感官世界电影| 飞驰人生2免费观看全集完整版| 越南停播中国电视剧| 《歼灭天际线》免费观看高清| 诛仙第三季1-26全集| 黑衣人国语高清| 三傻大闹宝莱坞国语版| 《播种女儿》完整版在线看| 植物人老公短剧全集| 中国刑警之九月风暴电视剧| 《卖豪车女销售》| XXXX 68美国| 莲花争霸优酷| 女明星们的按摩师免费观看| 战狼6欧美版免费| 美容院特殊三| 怒江之战全集免费播放| 林采缇视频种子| 金银悔1-5免费观看高清| 《私人家教》哪里能看| 西施伦理完整版| 网红逆袭全集免费| 战狼6免费完整高清版下载| 法国护士长无删减版观看 | 电视剧狂飙在线观看免费| 姐妹牙医赤子板栗| 轩辕剑之天之痕电视剧免费观看| 我本将心向明月短剧免费观看| 安妮 李斯特的秘密日记| 《法国空乘8》观看| 聊斋艳谭之幽| 盲盒旅行局综艺免费观看完整版 | 战狼6免费完整在线观看| 非洲版娃娃脸2| 赤狐书生 电影| 如意芳华| 爱我几何免费播放| 云南迷人湖| 一起再看流星雨| 工藤拉拉全部免费观看电视剧| 四方极爱电视剧免费观看高清| 九歌 电影| 痞子殿下| 类似TOTAKKAHAYAKIRGUZUX的旅行综艺| 火影忍者电影| 布拉格之恋下载| 北上电视剧免费| 曹查理电影H D| 长河落日电视剧全集| 越南丰满BBWBBW| 新浪潮全集观看| 《替弟偿债七日》电影叫什么名字来| 双鱼陨石在线观看| 今天的侦探| 悬崖在线观看| 战狼3免费高清版电影| 暴躁少女第十三集| 赖猫的狮子倒影免费观看| 极乐麻将| 漂亮的小瘦子3| 日本少女恃殊按摩3 | 未满十八岁禁入视频网站在线观看| 快乐再出发第一季免费完整版观看| 秘密女搜查官影视先锋播放| 恋爱暴君下载| 龚玥菲新金瓶高清百度影音| 蛮好的人生在线观看免费高清电影| 凯帕克电影在线观看免费播放| 今天的她们电视剧免费观看| 王国北方的阿信| 电视剧星火| 《部长来家》电影| 猫和老鼠全集东北方言版| 中原镖局之天地英豪| 茶啊二中| 疯狂小女生法国版| 女超人满天星版麦乐迪第一季| 八仙饭店叉烧肉包子完整视频 | 动感之星小玲105集全部剧情视频| 男装校草:迷倒女生全集免费| 纸钞屋第五季在线观看完整版| 默杀电影免费播放在线观看| 私人女性| 甄嬛传免费版| 磁碟机病毒| 孙静雅 快播| 《义子侵犯》完整版| 《色降》关秀媚无删减| 五个丝袜女警榨精嗯啊哦哦| 电视剧甄嬛传| 非诚勿扰于之飞| 销售的销售秘密HD| 电影杜十娘完整版| 少年派1电视剧全集免费观看| 那夜上错床| 新金银悔5一1手机版免费看| 妻子的资格| 流星花园高清字幕版| 情圣囧瑟夫| 金银1-5hd普通版| 美国高压监狱完整版| 六大禁片震撼来袭| 离婚律师结局| 却宅男女| 哇嘎电影在线看免费| 喜爱夜蒲2电影完整播放| 黑蔷薇夫人| 无颜之月1—5无删减| 台湾版《棘手狂情》演员表雅婷是| 乘龙怪婿3| 《美容窒:特殊服务3》| 增城地图| 我的肉欲继拇| 泰剧《蛇姬恋》免费观看| 喋血劫花| 正阳门下电视剧全集36| 一袋弹子电影| 玛丽莲杰斯《圣特罗佩斯的姑娘们》 | 把腿把开学长都给你高| 越光宝盒高清下载| 美女杀羊| 美容院电影5| 女帝归来:美男通通闪开全集免费| 女子护卫队| 蛇舌电影在线完整观看| 鹿铃免费| 成人电影维修工的艳遇 | 爱丫爱丫免费国语高| 向井蓝之特殊治疗医护免费看 | 战狼16欧式少女版资源百度云| 张警官第三部免费播放| gae枯萎之花上的眼泪| 七根心全集在线播放免费| 非常完美全集免费观看| 村妓经典k8| 嗨皮兔儿歌小兔子乖乖| 华豫之门鉴宝| 好运理发师| xl司令动漫第一季无马赛免费观看高清在线看 | 高朋满座近义词| 四月一日灵异事件簿·继动漫| 时光正好1-40集完整版| 新有菜电影| 美式的忌讳1~8| 废柴嫡女:逆天改命飒爆了全集免费| 爱情盛宴| 黑崎先生停不下来的专一之爱电视剧| 姐妹医牙完整版| 熟年中出交尾六十路七十路超清版 | 马路天使在线观看| 婚里婚外那些事| 《部长出差的日子》韩国| 需要浪漫11| 一世真爱情免费观看全部电视剧| 女人不在沉默电视剧全集在线观看| 美国1985g点原版中文| 《偿还2》完整版| 春娇救志明| 哈尔滨夜店| 弃女归来:家产我来拿短剧全集| 战狼8姐弟国语高清免费看| 特殊精油按摩之5| 野花社区日本韩国免费观看| 红杏出墙记电视剧| 伦理《法国护士长》观看| 双人按摩调情术在线播放| 走出监狱的女人电视剧免费| 上甘岭 电视剧| 瑜伽冥想音乐| 木子檀檀子在线观看全集免费 | 《两位少妇按摩》HD中字| 法证先锋第5部在线观看| 蜂鸟电视剧全集| 周弘的《村枝》在线观| 马英九民调| 《大梦归离》在线观看| 父母爱情免费观看| 减肥健美操| 禁忌1| 朋友的姐姐韩剧| 非亲兄弟电影| 动画片小猪佩奇全集播放| 《行政助理》完整版| 《美丽妻子替弟还债韩国 | 韩国甄嬛传| 浦江县| 11分钟模拟成结动画在线| 忧郁症 电影| 翁虹所有电影| 儿媳们的抉择电视剧| 白峰电影在线观看免费版第| 《初体验5》完整版| 民国枭雄| 北京地铁电视剧| 学渣逆袭:高考我成状元短剧全集| 超级教师3免费版电视剧| 浩哥闹县衙| 仆らのあしあと| 美式忌保罗讳1--4| 我们是中国记者!| 善良的的瘦子| 扇娘百度影音| 敢叫山河换新颜短剧免费观看| 追梦就冲突事件道歉| 金瓶梅在线完整版中文免费观看电影| 贝拉1983怀旧经典复古电影| 默杀在线观看免费版| 川村千里| 善良的女儿| 弟弟的女友 电影| 俘虏之锁~处女们淫秽的束缚~| 珠光璀璨泰剧在线观看| 电影远山的呼唤| 挣扎吧亚当君第二季在线观看| 中国国防生在线观看| XXXX69| 雪中悍刀行电视剧| 中国电影免费高清观看| 《初体验》电影完整版| 和田县| 牙医诊所赤坂丽电影在线观看| 护士给病人做性功能康复治疗| 古惑仔6国语高清免费| 安吉拉主演的《透视》电影| 毒医肥尸电影未删减版| 漂亮的保姆第四集在线观看中文| 向风而行电视剧免费播放19集| 霞光 电视剧| 电影《炸天小姐》完整版免费播放 | 豺狼帝国| 苍井空电影在线观看| 浮世风清绘完整版| 水手服的饲养电影在线观看| 危机公关电视剧| 霜花店完整版在线观看 | 蛇片大全电影国语| 少女sh| 无忧天堂| 雪恋电影在线观看| 权力的游戏第一季未删减| 台北101大楼亮灯祈愿| 屠场呕吐娃娃手机免费看| 《美景之屋2》无删减裸露版| 电视剧有你才幸福剧情介绍| 电影《金钱和我》国语版| 日本边添边摸边做边爱的网站| 一家乱战5高清免费播放| 盲侠大律师2020在线观看| 韩剧《我的家教老师》剧情介绍| 子弹慢镜头| 大头的小媳妇儿| 《倔强驱魔师》1-4集在线观看免费视 | 银魂121| 逐风飞翔电视剧| 欢聚一堂串词| 好儿子快插妈妈下面好爽视频| 3d柔铺团之极宝乐鉴宝鉴电影中文在| 美国高压监狱完整版| 亲戚几画| 花田喜事2010粤语| 遇龙电视剧完整版免费| 我的性肉欲继拇| 漂亮的小姨韩剧免费观看完整版电视 | 美丽的海棠红5| 大人版《壮志凌云》| 还珠格格第1部全集| 长空雄鹰电影| 法证先锋6电视剧全集在线观看| 安妮日记| 法航空姐2019电影在线观看| 极乐凶间 第二季电视剧| 终末的后宫未删减版 在线播放| 泡面小食堂| 好朋友们| 法国版《女超人:麦乐迪》在线观看http| 《卖保险套的女销售》| 小美人鱼电影| 白日梦我在线观看免费全集| 丰县新闻| 金牌销售的秘密| 急诊护士完整版在线观看| 亲吻姐姐下载| 火口山的两个人| 妖精的尾巴160| 大秦赋78集全集在线观看| 铜铜钢铿锵锵锵免费观看高清免费观| 三毛丛军记| 量子沙盘| 甜蜜惩罚2在线观看| 舒克贝塔动画片全集| 银梅瓶电视剧全集电视剧在线观看免费| 坎贝奇三部曲免费无删减在线观看| 东城西就2011| 米奇妙妙屋之大搜寻| 刘亦菲素颜逛服装店| 私人助理2| 水润女人在线观看电视剧免费 | 小樱桃2美剧免费观看全集| 一吻定情2019免费观看| 漂亮的保姆韩国手机观看| 无法抗拒的他第四集| 黑白配在线观看免费版全集 | 爱情公寓第3| 故宫开车| 纸箱包子| 性教育电影下载| 紫彩乃在线观看| 韩剧需要父亲播种| 哭悲电影在线观看高清恐怖免费| 电视剧《福贵》在线观看| 绿皮书电影| 新邵县| 电影《牙医姐妹》在线看| 爱情睡醒了40| 青柠电视剧全集免费观看| 私人定制在线观看| 略阳杀人案| 丰年经继拇中文3与其他教材比较| 盛唐风流在线电影免费播放| 蜜桃成熟时1997免费观看| 甄嬛传电视剧完整版免费观看高清| 异形起源| 全集动画片| 晚安为我而眠的妹妹免费观看| 玉蒲团二之玉女心经| 笨鸟先飞的故事| 樱桃小丸子来自意大利的少年| 云南虫谷电影| 三年大片高清在线观看全集免费观看 | 黑桃视频| 斗罗大陆155集柳二龙| 电影金光大道| 高清亲爱的,别!未删减| 3d肉下载| 朋友交换| 入室强奸电影完整版| 一人观看的电影免费观看| 黄曼巴罗伊| 女儿的朋友1在完整有限中字 | 男子被邀进店避雨趁机抱女店员| 鬼市电影| 苏有朋春晚| 都挺好 电视剧在线看| 岑巩县| 国产在线观看免费全集电视剧网站| 天使心在线观看| 精武家庭| 风烟滚滚| 新妈妈手机在线观看| 日军越南暴行2电影完整版在线观看| 保罗一家1-4在线观看| 幽游白书国语| 性解密西瓜| 手工皮具制作| 为时已是寿司!?未删减| 朋友换麦子6| 法国凌云壮志成版2011| 沙琪玛妈妈吃蜡瓶糖冰 | 男子吃月饼咬到螺丝磕坏2颗牙| 古墓丽影(法国版)女版播放| 女大学生精油按摩| 海底捞安琪儿| 电影版《异人之下》免费观看高清| 白鹿原电视剧完整版| 新乱世佳人第9集最火的一集| 美版娃娃脸4免费观看| 女邻居竟是绝色护士| 声生不息免费观看完整版| 荣誉守则成人版在线看| 《聊斋艳谭8陆判性经》| 北京奥运会开幕式2008完整版| 棘手狂情| 高压监狱第二部在线观看完整免费高清原声满天星 | 《弗兰茨》| 兄弟换麦子6国语版1080P| 特警力量 电视剧| 拒绝爆冷 大头王者归来打疯了| 电视剧亲爱的孩子们全集免费观看| 这才是马云| 《快递员的艳遇》中字| 线切割教程| 《拥挤的电梯》免费观看全集| 傻儿军长| 绿皮书电影| 人约离婚后国语高清| 三年国产高清免费观看| 霜花店无删减观看韩语中字| 寂寞 谢容儿| 创造营亚洲第二季| 烽火佳人电视剧| 夫妻之间完整版免费韩国电影观看| 公之浮之手5中字义父| 茶啊二中 电影| 惊天魔盗团在线观看| 宝藏歌手| 郑秀文演唱会2010| 活佛济公 第三部| xl司令真人版第一季全集免费| 花嫁高嫁柳嫁家1-4集免费观看动漫| 电视剧刺杀玫瑰| 电视剧霸道总裁推荐| 黑暗荣耀第二季| 帝王之妾在线观看完整版全集高清| 妈妈的工作5| 罗丽·星克莱尔电影在线观看| 两个妻子国语版| 《想享用朋友的妻子》电影| 抓紧我放弃我电视剧| 黑洞照片发布直播| 战狼6免费观看下载高清| 荒野女战士HD版在线播放| 时间之子| 临江仙电视剧免费看| 绝对权力剧情| 电视剧闪耀的她免费观看全集高清 | 恋恋红尘电视剧| 荣誉之战满天星在线播放 | 莫言被踢出作协| 铁甲钢拳在线观看| 流星花园第2部全集| 燃罪 电视剧| 韩国禁令啥意思| 志愿军2免费播放| 四大美人满天星免费| 特殊服务韩国| 邻家天使大人| 26种死法百度影音| 我推的孩子樱花在线观看| 陆真传奇全集| 太湖县| 《双女任务》| 韩版 花样男子| 郭麒麟平凡之路| 年轻的老师4| 林采缇视频种子| 一眉道人国语高清| 隐身帽子韩国电影| 《丈夫不在家维修工人上门维修》| 嗨皮兔儿歌| 蓝色档案| 记得我电影完整版| 断刀 朝鲜战场大逆转| 宁乡县| 白峰电影在线观看平台 | 拥抱春天的罗曼史1| 美国《行政助理》2014| 和讨厌的前男友一起出差电影| 超级警察免费观看完整版| 新选组镇魂歌 江户青春篇电视剧| 边水往事电视剧在线观看全集免费| 小伙有娃前后变化大被认成爷爷| 让一切随风 钟镇涛| 做aj电视剧在线观看| 检修工遇到强奸犯免费观看| 运河边的人们| 九流霸主高清免费观看全集电视剧| 姐姐的朋友在完整5视频带翻译| angelababy最新电影 | 《灭火行动》免费观看| 三姐妹高清在线观看免费韩剧| 在异世界迷宫开后无修改在哪里看| 年轻的姐夫在线免费观看| 超级魔术师克里斯| 前田香织种子| 《牙医姐妹》完整版百度网盘资源| 《高压监狱2》完整版在线| 闪婚爱豆:顶流老公短剧全集| 困惑的浪漫电影| 名侦探柯南普通话版免费观看| 我俩没有明天| 变形计2017| 《战争之暴行女囚》免费观看高清|