精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Linux 字節(jié)對齊的那些事

系統(tǒng) Linux
最近遇到一個問題,運行于ARM上的threadx在與DSP通信采用消息隊列的方式傳遞消息,在實際操作過程中發(fā)現(xiàn)threadx總是crash,于是經(jīng)過排查,是因為傳遞消息的結(jié)構(gòu)體沒有考慮字節(jié)對齊的問題。

[[420362]]

最近遇到一個問題,運行于ARM上的threadx在與DSP通信采用消息隊列的方式傳遞消息(最終實現(xiàn)原理是中斷+共享內(nèi)存的方式),在實際操作過程中發(fā)現(xiàn)threadx總是crash,于是經(jīng)過排查,是因為傳遞消息的結(jié)構(gòu)體沒有考慮字節(jié)對齊的問題。

隨手整理一下C語言中字節(jié)對齊的問題與大家一起分享。

一、概念

對齊跟數(shù)據(jù)在內(nèi)存中的位置有關(guān)。如果一個變量的內(nèi)存地址正好位于它長度的整數(shù)倍,他就被稱做自然對齊。比如在32位cpu下,假設(shè)一個整型變量的地址為0x00000004,那它就是自然對齊的。

首先了解什么位、字節(jié)、字

名稱 英文名 含義
bit 1個二進制位稱為1個bit
字節(jié) Byte 8個二進制位稱為1個Byte
word 電腦用來一次性處理事務(wù)的一個固定長度

字長

一個字的位數(shù),現(xiàn)代電腦的字長通常為16,32, 64位。(一般N位系統(tǒng)的字長是N/8字節(jié)。)

不同的CPU一次可以處理的數(shù)據(jù)位數(shù)是不同的,32位CPU可以一次處理32位數(shù)據(jù),64位CPU可以一次處理64位數(shù)據(jù),這里的位,指的就是字長。

而所謂的字長,我們有時會稱為字(word)。在16位的CPU中,一個字剛好為兩個字節(jié),而32位CPU中,一個字是四個字節(jié)。若以字為單位,向上還有雙字(兩個字),四字(四個字)。

二、對齊規(guī)則

對于標(biāo)準(zhǔn)數(shù)據(jù)類型,它的地址只要是它的長度的整數(shù)倍就行了,而非標(biāo)準(zhǔn)數(shù)據(jù)類型按下面的原則對齊:  數(shù)組 :按照基本數(shù)據(jù)類型對齊,第一個對齊了后面的自然也就對齊了。聯(lián)合 :按其包含的長度最大的數(shù)據(jù)類型對齊。結(jié)構(gòu)體:結(jié)構(gòu)體中每個數(shù)據(jù)類型都要對齊。

三、如何限制定字節(jié)對齊位數(shù)?

1. 缺省

在缺省情況下,C編譯器為每一個變量或是數(shù)據(jù)單元按其自然對界條件分配空間。一般地,可以通過下面的方法來改變?nèi)笔〉膶鐥l件:

2. #pragma pack(n)

· 使用偽指令#pragma pack (n),C編譯器將按照n個字節(jié)對齊。· 使用偽指令#pragma pack (),取消自定義字節(jié)對齊方式。

#pragma pack(n) 用來設(shè)定變量以n字節(jié)對齊方式。n字節(jié)對齊就是說變量存放的起始地址的偏移量有兩種情況:

  1.  如果n大于等于該變量所占用的字節(jié)數(shù),那么偏移量必須滿足默認(rèn)的對齊方式
  2.  如果n小于該變量的類型所占用的字節(jié)數(shù),那么偏移量為n的倍數(shù),不用滿足默認(rèn)的對齊方式。

結(jié)構(gòu)的總大小也有一個約束條件,如果n大于等于所有成員變量類型所占用的字節(jié)數(shù),那么結(jié)構(gòu)的總大小必須為占用空間最大的變量占用的空間數(shù)的倍數(shù);否則必須是n的倍數(shù)。

3. __attribute

另外,還有如下的一種方式:· __attribute((aligned (n))),讓所作用的結(jié)構(gòu)成員對齊在n字節(jié)自然邊界上。如果結(jié)構(gòu)中有成員的長度大于n,則按照最大成員的長度來對齊。· attribute ((packed)),取消結(jié)構(gòu)在編譯過程中的優(yōu)化對齊,按照實際占用字節(jié)數(shù)進行對齊。

3. 匯編.align

匯編代碼通常用.align來制定字節(jié)對齊的位數(shù)。

.align:用來指定數(shù)據(jù)的對齊方式,格式如下:

  1. .align [absexpr1, absexpr2] 

以某種對齊方式,在未使用的存儲區(qū)域填充值. 第一個值表示對齊方式,4, 8,16或 32. 第二個表達式值表示填充的值。

四、為什么要對齊?

操作系統(tǒng)并非一個字節(jié)一個字節(jié)訪問內(nèi)存,而是按2,4,8這樣的字長來訪問。因此,當(dāng)CPU從存儲器讀數(shù)據(jù)到寄存器,IO的數(shù)據(jù)長度通常是字長。如32位系統(tǒng)訪問粒度是4字節(jié)(bytes), 64位系統(tǒng)的是8字節(jié)。當(dāng)被訪問的數(shù)據(jù)長度為n字節(jié)且該數(shù)據(jù)地址為n字節(jié)對齊時,那么操作系統(tǒng)就可以高效地一次定位到數(shù)據(jù),無需多次讀取,處理對齊運算等額外操作。數(shù)據(jù)結(jié)構(gòu)應(yīng)該盡可能地在自然邊界上對齊。如果訪問未對齊的內(nèi)存,CPU需要做兩次內(nèi)存訪問。

字節(jié)對齊可能帶來的隱患:

代碼中關(guān)于對齊的隱患,很多是隱式的。比如在強制類型轉(zhuǎn)換的時候。例如: 

  1. unsigned int i = 0x12345678 
  2. unsigned char *p=NULL 
  3. unsigned short *p1=NULL 
  4. p=&i;  
  5. *p=0x00 
  6. p1=(unsigned short *)(p+1);  
  7. *p1=0x0000

最后兩句代碼,從奇數(shù)邊界去訪問unsignedshort型變量,顯然不符合對齊的規(guī)定。在x86上,類似的操作只會影響效率,但是在MIPS或者sparc上,可能就是一個error,因為它們要求必須字節(jié)對齊.

五、舉例

例1:os基本數(shù)據(jù)類型占用的字節(jié)數(shù)

首先查看操作系統(tǒng)的位數(shù)

在64位操作系統(tǒng)下查看基本數(shù)據(jù)類型占用的字節(jié)數(shù): 

  1. #include <stdio.h>  
  2. int main()  
  3.  
  4.     printf("sizeof(char) = %ld\n", sizeof(char));  
  5.     printf("sizeof(int) = %ld\n", sizeof(int));  
  6.     printf("sizeof(float) = %ld\n", sizeof(float));  
  7.     printf("sizeof(long) = %ld\n", sizeof(long));                                   
  8.     printf("sizeof(long long) = %ld\n", sizeof(long long));  
  9.     printf("sizeof(double) = %ld\n", sizeof(double));  
  10.     return 0;  

例2:結(jié)構(gòu)體占用的內(nèi)存大小--默認(rèn)規(guī)則

考慮下面的結(jié)構(gòu)體占用的位數(shù) 

  1. struct yikou_s  
  2.  
  3.     double d;  
  4.     char c;  
  5.     int i;  
  6. } yikou_t; 

執(zhí)行結(jié)果 

  1. sizeof(yikou_t) = 16 

在內(nèi)容中各變量位置關(guān)系如下:   

其中成員C的位置還受字節(jié)序的影響,有的可能在位置8

編譯器給我們進行了內(nèi)存對齊,各成員變量存放的起始地址相對于結(jié)構(gòu)的起始地址的偏移量必須為該變量類型所占用的字節(jié)數(shù)的倍數(shù), 且結(jié)構(gòu)的大小為該結(jié)構(gòu)中占用最大空間的類型所占用的字節(jié)數(shù)的倍數(shù)。

對于偏移量:變量type n起始地址相對于結(jié)構(gòu)體起始地址的偏移量必須為sizeof(type(n))的倍數(shù)結(jié)構(gòu)體大小:必須為成員最大類型字節(jié)的倍數(shù) 

  1. char: 偏移量必須為sizeof(char) 即1的倍數(shù)  
  2. int: 偏移量必須為sizeof(int) 即4的倍數(shù)  
  3. float: 偏移量必須為sizeof(float) 即4的倍數(shù)  
  4. double: 偏移量必須為sizeof(double) 即8的倍數(shù) 

例3:調(diào)整結(jié)構(gòu)體大小

我們將結(jié)構(gòu)體中變量的位置做以下調(diào)整: 

  1. struct yikou_s  
  2.  
  3.     char c;  
  4.     double d;  
  5.     int i;  
  6. } yikou_t; 

執(zhí)行結(jié)果 

  1. sizeof(yikou_t) = 24 

各變量在內(nèi)存中布局如下:

當(dāng)結(jié)構(gòu)體中有嵌套符合成員時,復(fù)合成員相對于結(jié)構(gòu)體首地址偏移量是復(fù)合成員最寬基本類型大小的整數(shù)倍。

例4:#pragma pack(4) 

  1. #pragma pack(4)  
  2. struct yikou_s  
  3.  
  4.     char c;  
  5.     double d;  
  6.     int i;  
  7. } yikou_t; 
  1. sizeof(yikou_t) = 16 

例5:#pragma pack(8) 

  1. #pragma pack(8)  
  2. struct yikou_s 
  3.  
  4.     char c;  
  5.     double d;  
  6.     int i;  
  7. } yikou_t; 

 

  1. sizeof(yikou_t) = 24 

例6:匯編代碼

舉例:以下是截取的uboot代碼中異常向量irq、fiq的入口位置代碼:圖片

六、匯總實力

有手懶的同學(xué),直接貼一個完整的例子給你們: 

  1. #include <stdio.h>  
  2. main()  
  3.  
  4. struct A {  
  5.     int a;  
  6.     char b;  
  7.     short c;  
  8. };   
  9. struct B {  
  10.     char b;  
  11.     int a;  
  12.     short c;  
  13. };  
  14. struct AA {  
  15.    // int a;  
  16.     char b;  
  17.     short c;  
  18. };  
  19. struct BB {  
  20.     char b;  
  21.    // int a;  
  22.     short c;  
  23. };   
  24. #pragma pack (2) /*指定按2字節(jié)對齊*/  
  25. struct C {  
  26.     char b;  
  27.     int a;  
  28.     short c;  
  29. };  
  30. #pragma pack () /*取消指定對齊,恢復(fù)缺省對齊*/  
  31. #pragma pack (1) /*指定按1字節(jié)對齊*/  
  32. struct D {  
  33.     char b;  
  34.     int a;  
  35.     short c;  
  36. };  
  37. #pragma pack ()/*取消指定對齊,恢復(fù)缺省對齊*/  
  38. int s1=sizeof(struct A);  
  39. int s2=sizeof(struct AA);  
  40. int s3=sizeof(struct B);  
  41. int s4=sizeof(struct BB);  
  42. int s5=sizeof(struct C);  
  43. int s6=sizeof(struct D);  
  44. printf("%d\n",s1);  
  45. printf("%d\n",s2);  
  46. printf("%d\n",s3);  
  47. printf("%d\n",s4);  
  48. printf("%d\n",s5);  
  49. printf("%d\n",s6);  
  50.  

 

責(zé)任編輯:龐桂玉 來源: 良許Linux
相關(guān)推薦

2021-08-06 11:50:49

Linux 字節(jié)對齊Linux 系統(tǒng)

2021-08-17 11:45:44

LinuxC語言字節(jié)

2017-05-15 21:50:54

Linux引號

2018-04-11 08:54:16

Linux ARM存儲分布

2020-07-29 08:14:59

云計算云遷移IT

2011-09-19 15:40:35

2014-06-06 16:08:17

初志科技

2017-11-20 09:00:34

Linux服務(wù)器時間同步

2024-02-04 17:03:30

2011-05-19 16:47:50

軟件測試

2012-05-01 08:06:49

手機

2012-05-31 09:53:38

IT風(fēng)云15年

2013-12-12 17:50:36

開源系統(tǒng)Linux

2012-07-13 00:03:08

WEB前端開發(fā)WEB開發(fā)

2023-11-14 09:08:12

MySQL多表關(guān)聯(lián)

2010-07-27 11:29:43

Flex

2022-07-19 13:31:18

Buddy算法內(nèi)存管理框架

2019-12-10 08:00:46

Kata容器Linux

2017-11-28 15:24:14

ETA配送構(gòu)造

2015-08-20 09:17:36

Java線程池
點贊
收藏

51CTO技術(shù)棧公眾號

欧美日韩国产精品一区二区亚洲| 国产亚洲精品精品国产亚洲综合| 国产.欧美.日韩| 97超级碰在线看视频免费在线看| 国产精品九九九九九| 精品裸体bbb| 亚洲精品国产一区二区精华液 | 蜜臀尤物一区二区三区直播| 国产精品久久久久久久久妇女| 精品国产乱码久久| 妺妺窝人体色www在线观看| av在线网址观看| 91在线国产观看| 成人精品一区二区三区电影黑人 | 色94色欧美sute亚洲线路一久| 尤物国产精品| 日韩三级电影网| 国产麻豆精品一区二区| 青青久久av北条麻妃海外网| 精品无码久久久久成人漫画| 综合干狼人综合首页| 91精品一区二区三区在线观看| 免费观看精品视频| 青草影视电视剧免费播放在线观看| 久久久www成人免费毛片麻豆| 96国产粉嫩美女| 成人a v视频| 日韩香蕉视频| 色综合老司机第九色激情| 国产又粗又硬视频| 午夜精品福利影院| 精品国产麻豆免费人成网站| 免费av不卡在线| 国产精品高清乱码在线观看| 亚洲高清免费观看| 日韩不卡一二区| av在线电影免费观看| 97久久超碰国产精品| 99久久精品免费看国产一区二区三区| 亚洲一二区视频| 日韩精品亚洲专区| 69精品小视频| 日韩 欧美 精品| 欧美日韩岛国| 欧美乱妇高清无乱码| 丁香六月激情综合| 日韩欧美高清| 色婷婷综合久久久久| 欧美熟妇激情一区二区三区| 天天做夜夜做人人爱精品| 精品久久久久久亚洲综合网| 97免费公开视频| 高清不卡一区| 欧美一区二区在线看| 亚洲欧美日韩三级| 久久亚洲国产精品尤物| 欧美三级电影网| 一区二区三区国产免费| 欧美成人精品一区二区男人小说| 欧美性xxxx极品hd满灌| 欧美日韩在线视频一区二区三区| 小h片在线观看| 一本大道久久a久久精品综合| 久久久久久久久久久福利| 亚洲精品一区| 在线精品视频小说1| 五月婷婷激情久久| 日本在线一区二区| 717成人午夜免费福利电影| 天堂在线一区二区三区| 国产麻豆精品| 欧美精品一区二区三| 欧美精品欧美极品欧美激情| 精品一区毛片| 日韩中文理论片| 美女福利视频在线观看| 在线播放不卡| 日本高清不卡的在线| 中文在线字幕av| 精品在线免费视频| 鬼打鬼之黄金道士1992林正英| 欧美一区二区在线观看视频| 91美女蜜桃在线| 午夜一区二区三区| 成人看av片| 午夜在线电影亚洲一区| 中文字幕第80页| 久久69av| 亚洲欧美日韩精品久久亚洲区| 女女互磨互喷水高潮les呻吟| 国产精品精品| 国内精品中文字幕| 性高潮视频在线观看| 韩国毛片一区二区三区| 国产在线视频欧美一区二区三区| 免费国产在线观看| 亚洲视频在线一区观看| 熟女少妇在线视频播放| 国产精品久久久久久久久久齐齐| 日韩无一区二区| 91视频在线网站| 亚洲九九在线| 国产精品91久久久久久| 国产成人精品毛片| 久久影院午夜论| 浴室偷拍美女洗澡456在线| 精品丝袜在线| 67194成人在线观看| 少妇饥渴放荡91麻豆| 国产精品精品| 国产精品91在线| 丁香花免费高清完整在线播放 | 精品久久国产老人久久综合| 一色道久久88加勒比一| 亚洲婷婷在线| 成人在线精品视频| 黄色片在线免费看| 亚洲资源中文字幕| 超碰成人在线播放| 色狠狠久久av综合| 欧美大片在线看免费观看| 中文字幕 亚洲视频| 91丝袜美腿高跟国产极品老师 | 超碰在线caoporen| 欧美色图免费看| 国产又黄又粗又猛又爽的视频 | 久久久久久毛片免费看| 久久久精品国产| 亚洲中文无码av在线| 久久综合狠狠综合| 给我免费播放片在线观看| 国产精品白丝久久av网站| 国产亚洲精品久久久| 波多野结衣国产| 成人91在线观看| 好吊色视频988gao在线观看| 久久三级毛片| 最好看的2019年中文视频| 黄色在线视频网址| 97se亚洲国产综合在线| 国产免费裸体视频| 日韩一区二区三区精品| 久久亚洲电影天堂| 亚洲无码久久久久| 国产精品久久久久久久久久久免费看| 北条麻妃av高潮尖叫在线观看| 日韩精品丝袜美腿| 欧美亚洲成人免费| 精品三级久久久久久久电影聊斋| 午夜精品久久久久久久| 国产激情第一页| 亚洲国产一区二区三区a毛片| 91九色在线观看| 亚洲淫性视频| 日韩欧美国产系列| 五月天婷婷网站| av中文字幕在线不卡| 日韩欧美一区二| 欧美极品在线观看| 国产成人亚洲精品| av网在线观看| 在线成人av影院| 国产成人无码aa精品一区| 国产高清精品久久久久| 日韩一级片免费视频| 国内精品免费| 清纯唯美亚洲激情| 爱爱爱免费视频在线观看| 欧美日韩一区 二区 三区 久久精品| www.黄色在线| 国产精品久久久久久久免费软件 | 国产精品成人av| 97超碰最新| 激情aⅴ欧美一区二区欲海潮| 亚洲欧美视频在线| 88av在线视频| 洋洋av久久久久久久一区| 久久久久久婷婷| 亚洲欧美激情诱惑| 亚洲精品久久区二区三区蜜桃臀| 先锋影音网一区二区| 久久久久久久一| 美国成人毛片| 制服丝袜一区二区三区| 国产无码精品在线观看| 久久久综合九色合综国产精品| 校园春色 亚洲色图| 欧美va天堂在线| 久久久av水蜜桃| 日本成人一区二区| 高清欧美性猛交| 97视频精彩视频在线观看| 日韩免费在线观看| 91在线视频免费播放| 亚洲天堂免费看| 99re久久精品国产| 国产又粗又猛又爽又黄91精品| 免费看国产一级片| 欧美成人精品一区二区三区在线看| 国产激情一区二区三区在线观看| 久久夜夜操妹子| 欧美激情高清视频| yiren22综合网成人| 亚洲成人网在线| 夜夜躁很很躁日日躁麻豆| 午夜亚洲福利老司机| 午夜精品一区二区三级视频| 99国产欧美久久久精品| 欧美一级xxxx| 老司机精品导航| 91成人综合网| 国产精品精品| 色吧亚洲视频| 美女扒开腿让男人桶爽久久动漫| 成人免费在线视频网站| 国产精品粉嫩| 久久久久久久久国产| 老司机在线视频二区| 亚洲男人天堂2023| 日本激情视频网站| 日韩一区二区高清| 一级特黄色大片| 91精品福利视频| 中文字幕亚洲精品在线| 亚洲一区二区在线观看视频 | 国产日韩精品在线| 欧美www.| 国产成人一区二区三区| 欧美激情20| 国语对白做受69| 人人超在线公开视频| 久久影视电视剧免费网站| 高h视频在线| 亚洲人a成www在线影院| 亚洲欧洲国产综合| 亚洲激情中文字幕| 黄色片一区二区三区| 日韩视频在线观看一区二区| 中文字幕av片| 欧美性一区二区| 青青国产在线视频| 在线观看欧美日本| 日韩一级片中文字幕| 91久久精品网| 国产午夜无码视频在线观看| 色综合天天综合网天天看片 | 欧美无砖专区一中文字| 亚洲av无码精品一区二区| 色综合夜色一区| 69视频免费看| 欧美在线free| 岳乳丰满一区二区三区| 欧美专区日韩专区| 在线免费看91| 欧美电影影音先锋| 国产成人久久精品77777综合 | 亚洲图片欧美另类| 成人的网站免费观看| 国产麻豆剧传媒精品国产av| thepron国产精品| 亚洲永久精品ww.7491进入| 久久精品在这里| 九九热久久免费视频| 国产精品护士白丝一区av| 欧美 日韩 国产 一区二区三区| 亚洲精品视频一区二区| 久久精品美女视频| 精品久久久久久中文字幕一区奶水| 六月丁香激情综合| 91成人免费电影| av小说天堂网| 亚洲国产精品久久久久久| 天堂中文在线视频| 一区二区三区四区精品| 欧美一区二区三区在线观看免费| 久久久国产精品亚洲一区| av今日在线| 国产高清视频一区三区| 少妇高潮一区二区三区99| 91在线观看免费| 国产精品成人自拍| 日产精品高清视频免费| 综合激情在线| 各处沟厕大尺度偷拍女厕嘘嘘| 免费成人在线网站| 国产乱国产乱老熟300部视频| 2021国产精品久久精品| 色哟哟一一国产精品| 亚洲永久免费视频| 国产成人无码av| 在线播放亚洲一区| 午夜视频福利在线| 日韩中文字在线| 理论片午夜视频在线观看| 国产区亚洲区欧美区| 久久动漫网址| 中文字幕精品一区日韩| 一本久道久久综合狠狠爱| 亚洲综合欧美在线| 93久久精品日日躁夜夜躁欧美| 欧美性生交大片| 黑人巨大精品欧美一区二区三区| 在线观看中文字幕网站| 日韩av影视在线| 成人video亚洲精品| 国产精品白丝jk喷水视频一区| 视频一区在线| 色一情一乱一伦一区二区三欧美 | 国产精品毛片高清在线完整版| 日韩aaaaaa| 日韩精品一区二区三区三区免费 | 青青视频在线播放| 国产乱码精品一品二品| av电影网站在线观看| 亚洲成人av中文| 97人妻精品一区二区三区视频| 日韩高清av一区二区三区| 蜜桃av在线免费观看| 国产ts一区二区| 嫩草国产精品入口| 91视频成人免费| 久久99精品久久久久久动态图 | 亚洲国产欧美日韩在线观看第一区| 国产又粗又爽又黄的视频| 日本中文在线一区| 香蕉网在线播放| 亚洲五月六月丁香激情| 99精品在线视频观看| 综合网中文字幕| 精品欧美一区二区三区在线观看| 久久精品ww人人做人人爽| 国自产拍偷拍福利精品免费一| 日本美女久久久| 中文字幕一区二区三区在线播放| 色老头在线视频| 亚洲人精品午夜在线观看| 亚洲欧美小说色综合小说一区| 91在线网站视频| 91精品国产乱码久久久久久| av观看免费在线| 2020国产精品自拍| 亚洲黄色激情视频| 亚洲精品综合精品自拍| 国产免费拔擦拔擦8x高清在线人 | 性欧美18一19性猛交| 欧美久久精品一级黑人c片| 国模私拍国内精品国内av| 亚欧精品在线| 卡一卡二国产精品| 亚洲国产精品一区二区久久hs| 欧美二区三区的天堂| 国产一二三区在线观看| 亚洲综合日韩中文字幕v在线| 欧美/亚洲一区| www.四虎在线| 欧美日韩另类在线| 日韩资源在线| 国产精品免费久久久| 99久久九九| 下面一进一出好爽视频| 亚洲成在人线在线播放| 日本成人一区| 国产精品久久久久久久av大片| 99久久99久久精品国产片桃花| 日本一本在线视频| 亚洲图片自拍偷拍| 日本国产在线| 国产精品女主播| 欧美二区视频| 99re久久精品国产| 欧美色综合久久| 在线欧美三级| 狠狠色伊人亚洲综合网站色| 久久永久免费| 中文字幕美女视频| 亚洲第一网站男人都懂| 日韩精品99| 热这里只有精品| 91在线一区二区三区| 欧美一级做a爰片免费视频| 日韩一区在线视频| 国产精品网在线观看| 亚洲乱码国产一区三区| 一区二区免费看| 四虎精品成人影院观看地址| 国产精品一区二区三| 激情欧美丁香| 少妇精品无码一区二区免费视频| 欧美一区二视频| 欧美一级大黄| 超碰免费在线公开| 99精品国产99久久久久久白柏| 中文字幕在线天堂| 欧美福利在线观看| 欧美日韩精品一区二区视频| wwwww在线观看| 欧美在线短视频| eeuss鲁一区二区三区| 亚洲在线观看一区| 99久久99久久综合|