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

C++ 面試題:const 全局變量存在 .data 段還是 .bss 段?

開發(fā)
const 全局變量會存放在只讀數(shù)據(jù)段(.rodata),而非.data或.bss段。因為.data段存放可讀寫的已初始化數(shù)據(jù),而 const 變量需要保證只讀屬性,編譯器會將其分配到.rodata段。 

這是今年騰訊最新春招實習(xí)生的面試題,不知道是面試者總結(jié)手誤寫錯了還是面試官就這么問的,這問的就沒有正確答案。 

我們都知道:全局變量和靜態(tài)變量一般存放在 .data 或者 .bss 段,具體取決于是否被初始化。 

  • 如果全局變量被顯式初始化為非零值,它們通常放在 .data 段; 
  • 而如果未初始化或者初始化為零,則可能放在 .bss 段。 

.data 段(已初始化數(shù)據(jù)段):存放顯式初始化且初始值非零的全局變量和靜態(tài)變量。 

int global_var = 42;          // 存儲在 .data 段
static int static_var = 10;   // 存儲在 .data 段

.bss 段(未初始化數(shù)據(jù)段):存放未顯式初始化或初始化為零的全局變量和靜態(tài)變量(節(jié)省磁盤空間,加載時自動清零)。 

int global_uninit;            // 存儲在 .bss 段
static int static_zero = 0;   // 存儲在 .bss 段(初始化為零)

為什么說節(jié)省空間? 

比如,如果一個全局數(shù)組很大但未初始化,那么在編譯后的文件中,BSS段可能只是記錄這個數(shù)組的大小,而不是實際存儲所有的零值。當程序加載到內(nèi)存時,系統(tǒng)會根據(jù)需要分配內(nèi)存并清零,這樣在磁盤上的可執(zhí)行文件就不會包含這些零值的數(shù)據(jù),從而減少了文件的大小。 

const 全局變量不一樣

首先 const全局變量必須顯式初始化(否則編譯報錯),因此不存在“未初始化”的情況。 

const 全局變量會存放在只讀數(shù)據(jù)段(.rodata),而非.data或.bss段。因為.data段存放可讀寫的已初始化數(shù)據(jù),而 const 變量需要保證只讀屬性,編譯器會將其分配到.rodata段。 

我們測試驗證下: 

編寫如下測試代碼: 

const int a = 10;
const int b = 0;

int main() 
{
        return 0;
}

然后執(zhí)行 g++ 1.cpp 生成 a.out, 我們使用 nm 工具查看符號表,可以發(fā)現(xiàn)輸出:

0000000000400530 r _ZL1a
0000000000400534 r _ZL1b

這里 r 表示符號位于只讀數(shù)據(jù)段。 

所以const全局變量若初始化(無論是否為非零),通常位于.rodata段。 

nm輸出中 B b T 這種字符,代表什么意思

在 nm 的輸出中,符號類型通過 大小寫字母 表示符號的存儲位置和屬性。以下是常見符號類型的解釋: 

字母

大小寫

解釋

B

大寫

未初始化的全局變量

b

小寫

未初始化的靜態(tài)變量

T

大寫

全局函數(shù)/代碼

t

小寫

靜態(tài)函數(shù)/代碼

r

小寫

只讀數(shù)據(jù)

D

大寫

已初始化的全局變量

d

小寫

已初始化的靜態(tài)變量

U

大寫

未定義符號

關(guān)鍵區(qū)別:

  • 大寫字母(B/T/D):表示符號是全局的(全局變量或函數(shù)),可以被其他文件訪問。
  • 小寫字母(b/t/d):表示符號是局部的或靜態(tài)的(作用域限于當前文件)。
  • 大小寫 B/b:都位于 .bss 段,但作用域不同(大寫為全局,小寫為靜態(tài))。
  • 大小寫 T/t:都位于 .text 段,但作用域不同(大寫為全局函數(shù),小寫為靜態(tài)函數(shù))。

我們寫個測試代碼再驗證下: 

const int a = 10; //const 初始化
constint b = 0;//const 初始化為0

int c; //全局 未初始化
int d = 9; //全局 初始化
int dd = 0; //全局 初始化0

staticint e; //靜態(tài) 未初始化
staticint f = 10; //靜態(tài)初始化
staticint g = 0; //靜態(tài)初始化0 

intmain()
{
        return0;
}

編譯后用 nm 查看: 

nm a.out
0000000000601024 B __bss_start
0000000000601028 B c
0000000000601024 b completed.7247
000000000060101c D d
0000000000601018 D __data_start
0000000000601018 W data_start
000000000060102c B dd
0000000000400400 t deregister_tm_clones
0000000000400470 t __do_global_dtors_aux
0000000000600e28 t __do_global_dtors_aux_fini_array_entry
0000000000400528 R __dso_handle
0000000000600e30 d _DYNAMIC
0000000000601024 D _edata
0000000000601038 B _end
0000000000400514 T _fini
00000000004004a0 t frame_dummy
0000000000600e20 t __frame_dummy_init_array_entry
000000000040062c r __FRAME_END__
0000000000601000 d _GLOBAL_OFFSET_TABLE_
                 w __gmon_start__
0000000000400538 r __GNU_EH_FRAME_HDR
00000000004003b8 T _init
0000000000600e28 t __init_array_end
0000000000600e20 t __init_array_start
0000000000400520 R _IO_stdin_used
0000000000400510 T __libc_csu_fini
00000000004004b0 T __libc_csu_init
                 U __libc_start_main@@GLIBC_2.2.5
00000000004004a2 T main
0000000000400430 t register_tm_clones
00000000004003d0 T _start
0000000000601028 D __TMC_END__
0000000000400530 r _ZL1a
0000000000400534 r _ZL1b
0000000000601030 b _ZL1e
0000000000601020 d _ZL1f
0000000000601034 b _ZL1g

這是截圖證明上面不是我虛造的:

可以發(fā)現(xiàn): 

  • a b 前面的符號是 r,表示存放在 .rodata 段 
  • e g 前面的符號是 b,表示存放在 .bss 段 
  • f 前面的符號是 d,表示存放在 .data 段 
  • c dd 前面的符號是 B ,表示存放在 .bss 段 
  • D 前面的符號是 D,表示存放在 .data 段 

所以總結(jié)就是:

  • .bss 段:未初始化或零初始化的全局/靜態(tài)變量(B 和 b)。
  • .text 段:可執(zhí)行代碼(T 和 t)。
  • .rodata 段:只讀數(shù)據(jù)(r)。
  • .data 段:已初始化的全局/靜態(tài)變量(D 和 d)。

rodata 段在內(nèi)存哪個位置呢?

答案是:在程序的內(nèi)存布局中,.rodata 段(只讀數(shù)據(jù)段) 通常位于 代碼段(.text)和數(shù)據(jù)段(.data/.bss)之間。 

我們看前面nm 輸出中,.rodata 段的符號地址集中在 0x400520 到 0x40062c 范圍內(nèi): 

0000000000400520 R _IO_stdin_used     # .rodata 起始附近
0000000000400530 r _ZL1a             # const int a = 10
0000000000400534 r _ZL1b             # const int b = 0
000000000040062c r __FRAME_END__     # .rodata 結(jié)束附近

(1) .rodata 段地址范圍:0x400520 ~ 0x40062c 該段緊鄰代碼段(.text 段),代碼段的符號地址(如 _start、main 等)在 0x4003d0 ~ 0x400514 之間 

(2) .data 和 .bss 段地址范圍: 

  • .data 段地址:0x6001018 ~ 0x6001020 
  • .bss 段地址:0x6001020 ~ 0x6001030 這些段位于高地址區(qū)域(0x60...),與 .rodata 段(0x40...)明顯分離。 

這種布局體現(xiàn)為: 

低地址(0x400000) → 高地址(0x600000)
.text → .rodata → ... → .data → .bss

為什么 .rodata 和 .text 都在 0x40... 地址?

  • 權(quán)限隔離: .text(代碼)和 .rodata(只讀數(shù)據(jù))通常被標記為 可讀+可執(zhí)行(r-x),而 .data 和 .bss 被標記為 可讀+可寫(rw-)。 操作系統(tǒng)會將權(quán)限相同的段映射到相鄰區(qū)域,因此 .rodata 與 .text 位于同一地址范圍內(nèi)(0x40...)。 
  • 優(yōu)化內(nèi)存使用: 將只讀數(shù)據(jù)與代碼相鄰,可以減少內(nèi)存碎片,提高緩存命中率。 

驗證 .rodata 的物理位置

可以通過 readelf工具直接查看段頭信息: 

readelf -S a.out

輸出示例(關(guān)鍵部分): 

[11] .text             PROGBITS         00000000004003d0  000003d0
       0000000000000141  0000000000000000  AX       0     0     16
[12] .fini             PROGBITS         0000000000400514  00000514
       0000000000000009  0000000000000000  AX       0     0     4
[13] .rodata           PROGBITS         0000000000400520  00000520
       0000000000000018  0000000000000000   A       0     0     8
[21] .data             PROGBITS         0000000000601018  00001018
       000000000000000c  0000000000000000  WA       0     0     4
[22] .bss              NOBITS           0000000000601024  00001024
       0000000000000014  0000000000000000  WA       0     0     4

.rodata 的物理地址:0x400520,與 nm 輸出的符號地址一致。 

完整信息這里也放出來:

readelf -S a.out
There are34 section headers, starting atoffset0x2708:

Section Headers:
  [Nr] Name              Type             Address           Offset
       Size              EntSize          Flags  Link  Info  Align
  [ 0]                   NULL             000000000000000000000000
       00000000000000000000000000000000           0     0     0
  [ 1] .interp           PROGBITS         000000000040023800000238
       000000000000001c  0000000000000000   A       0     0     1
  [ 2] .note.ABI-tag     NOTE             000000000040025400000254
       00000000000000200000000000000000   A       0     0     4
  [ 3] .note.gnu.build-i NOTE             000000000040027400000274
       00000000000000240000000000000000   A       0     0     4
  [ 4] .gnu.hash         GNU_HASH         000000000040029800000298
       000000000000001c  0000000000000000   A       5     0     8
  [ 5] .dynsym           DYNSYM           00000000004002b8  000002b8
       00000000000000480000000000000018   A       6     1     8
  [ 6] .dynstr           STRTAB           000000000040030000000300
       000000000000005f  0000000000000000   A       0     0     1
  [ 7] .gnu.version      VERSYM           000000000040036000000360
       00000000000000060000000000000002   A       5     0     2
  [ 8] .gnu.version_r    VERNEED          000000000040036800000368
       00000000000000200000000000000000   A       6     1     8
  [ 9] .rela.dyn         RELA             000000000040038800000388
       00000000000000300000000000000018   A       5     0     8
  [10] .init             PROGBITS         00000000004003b8  000003b8
       00000000000000170000000000000000  AX       0     0     4
  [11] .text             PROGBITS         00000000004003d0  000003d0
       00000000000001410000000000000000  AX       0     0     16
  [12] .fini             PROGBITS         000000000040051400000514
       00000000000000090000000000000000  AX       0     0     4
  [13] .rodata           PROGBITS         000000000040052000000520
       00000000000000180000000000000000   A       0     0     8
  [14] .eh_frame_hdr     PROGBITS         000000000040053800000538
       000000000000002c  0000000000000000   A       0     0     4
  [15] .eh_frame         PROGBITS         000000000040056800000568
       00000000000000c8  0000000000000000   A       0     0     8
  [16] .init_array       INIT_ARRAY       0000000000600e2000000e20
       00000000000000080000000000000008  WA       0     0     8
  [17] .fini_array       FINI_ARRAY       0000000000600e2800000e28
       00000000000000080000000000000008  WA       0     0     8
  [18] .dynamic          DYNAMIC          0000000000600e3000000e30
       00000000000001c0  0000000000000010  WA       6     0     8
  [19] .got              PROGBITS         0000000000600ff0  00000ff0
       00000000000000100000000000000008  WA       0     0     8
  [20] .got.plt          PROGBITS         000000000060100000001000
       00000000000000180000000000000008  WA       0     0     8
  [21] .data             PROGBITS         000000000060101800001018
       000000000000000c  0000000000000000  WA       0     0     4
  [22] .bss              NOBITS           000000000060102400001024
       00000000000000140000000000000000  WA       0     0     4
  [23] .comment          PROGBITS         000000000000000000001024
       000000000000002c  0000000000000001  MS       0     0     1
  [24] .debug_aranges    PROGBITS         000000000000000000001050
       00000000000001000000000000000000           0     0     16
  [25] .debug_info       PROGBITS         000000000000000000001150
       00000000000003130000000000000000           0     0     1
  [26] .debug_abbrev     PROGBITS         000000000000000000001463
       00000000000001950000000000000000           0     0     1
  [27] .debug_line       PROGBITS         0000000000000000000015f8
       000000000000023f  0000000000000000           0     0     1
  [28] .debug_str        PROGBITS         000000000000000000001837
       00000000000002bd  0000000000000001  MS       0     0     1
  [29] .debug_loc        PROGBITS         000000000000000000001af4
       00000000000001550000000000000000           0     0     1
  [30] .debug_ranges     PROGBITS         000000000000000000001c50
       00000000000000800000000000000000           0     0     16
  [31] .symtab           SYMTAB           000000000000000000001cd0
       00000000000007080000000000000018          32    56     8
  [32] .strtab           STRTAB           0000000000000000000023d8
       00000000000001d8  0000000000000000           0     0     1
  [33] .shstrtab         STRTAB           0000000000000000000025b0
       00000000000001520000000000000000           0     0     1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
  L (link order), O (extra OS processing required), G (group), T (TLS),
  C (compressed), x (unknown), o (OS specific), E (exclude),
  l (large), p (processor specific)

.rodata段與其他段的關(guān)系

段名

內(nèi)容

讀寫權(quán)限

位置特征

.text

可執(zhí)行代碼

只讀 + 可執(zhí)行

最低地址區(qū)域

.rodata

只讀常量(如

只讀

緊鄰

.data

已初始化全局/靜態(tài)變量

可讀寫

高于

.bss

未初始化全局/靜態(tài)變量

可讀寫

緊鄰

總結(jié)

  • 答案:const 全局變量既不在 .data 段也不在 .bss 段,而是在 .rodata 段 
  • 位置:.rodata 段位于 代碼段(.text)和數(shù)據(jù)段(.data/.bss)之間。 
  • 權(quán)限:與代碼段共享只讀屬性,但不可執(zhí)行。 
責(zé)任編輯:趙寧寧 來源: CppPlayer
相關(guān)推薦

2025-06-05 08:05:00

vectorC++對象存儲

2021-10-27 11:00:30

C++語言面試

2013-07-22 14:07:47

2010-02-02 14:06:50

C++ const變量

2025-06-03 08:50:00

Static全局變量C 語言

2025-05-23 08:15:00

C++constexpr字面類型

2025-05-26 03:20:00

2025-05-20 10:00:00

C++命名空間別名代碼

2025-05-06 08:20:00

互斥鎖C++編程

2025-04-30 10:10:00

在 C++C++11Lambda

2025-05-27 10:15:00

void*函數(shù)開發(fā)

2011-03-29 14:31:41

CC++

2013-07-25 15:15:26

iOS開發(fā)學(xué)習(xí)iOS全局變量

2010-11-12 10:08:55

SQL Server全

2013-07-17 16:16:06

Android全局變量定義全局變量Application

2009-09-07 15:15:43

2025-05-20 08:10:00

函數(shù)函數(shù)類型函數(shù)指針類型

2020-06-04 14:40:40

面試題Vue前端

2022-04-12 11:38:06

C語言全局變量

2010-03-09 14:12:55

Python全局變量
點贊
收藏

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

中文字幕欧美一| 久久久久久蜜桃| 波多野结衣电车痴汉| 亚洲毛片在线免费| 91原创在线视频| 欧美夫妻性生活xx| 亚洲va久久久噜噜噜久久狠狠| 特级片在线观看| 国产精品传媒麻豆hd| 91一区一区三区| 国产欧美日韩免费| 91精品国产高清91久久久久久| 黄色av网址在线免费观看| 国产乱论精品| 亚洲乱码国产乱码精品精98午夜 | 成人国产电影在线观看| 精品一区二区精品| 中文亚洲视频在线| 北条麻妃在线一区| 三区在线观看| 欧美一级视频| 亚洲欧美日韩综合| 国产麻花豆剧传媒精品mv在线| 天天干免费视频| 一区二区三区高清视频在线观看| 亚洲经典中文字幕| 免费在线观看亚洲视频| 四虎精品在永久在线观看 | 欧美成人小视频| 91丝袜超薄交口足| 18加网站在线| 国产98色在线|日韩| 久久91精品国产91久久久| 亚洲AV无码久久精品国产一区| av网站在线免费看推荐| 国产亚洲成年网址在线观看| 国产精品久久久久久av福利| 少妇精品无码一区二区免费视频 | 国产精品一二三视频| 国产精品第一页在线观看| 伊人久久大香线蕉av超碰| 亚洲丝袜自拍清纯另类| 亚洲精品欧美日韩专区| 青青草精品在线视频| 日韩一区二区三区四区五区| 国产精品三级电影| 亚洲伊人成综合成人网| 久久久999久久久| 亚洲成av人电影| 欧美成人一级视频| 成年网站在线免费观看| 免费在线观看av电影| 99久久99久久免费精品蜜臀| 亚洲qvod图片区电影| 91精品国产乱码久久| 欧美成人亚洲| 日韩精品免费视频| 午夜免费福利在线| 国产精品一区二区三区视频网站| 国产一区二区三区精品欧美日韩一区二区三区 | 蜜乳av综合| 欧美日韩一区二区三区不卡 | 美女又爽又黄视频毛茸茸| 欧洲亚洲两性| 亚洲免费观看高清完整版在线| 亚洲一区二区三区在线观看视频 | 国产一区二区福利视频| 国产一区二中文字幕在线看| 中文字幕在线观看你懂的| 亚洲国产精品成人| 欧美成人小视频| 久久免费少妇高潮99精品| 最新亚洲一区| 久久精品国产精品| 97人妻天天摸天天爽天天| 欧美日韩夜夜| 日韩一区二区在线看| 37pao成人国产永久免费视频| 不卡福利视频| 亚洲在线免费播放| 亚洲蜜桃在线| 色呦呦免费观看| 91麻豆产精品久久久久久| 91久久国产精品| 精品无码一区二区三区的天堂| 日日欢夜夜爽一区| 2018国产精品视频| 美女的奶胸大爽爽大片| 精品白丝av| 久久天天躁日日躁| 99精品全国免费观看| 欧美日韩导航| 在线看日韩av| 国产麻豆天美果冻无码视频| 国产真实有声精品录音| 亚洲精品一线二线三线| 亚洲精品第三页| 欧美va在线观看| 狠狠综合久久av一区二区小说 | 天天躁日日躁狠狠躁av麻豆男男 | 亚洲视频观看| 久久久精品一区二区三区| 久久国产一级片| 日韩不卡一区二区三区| 99精品欧美一区二区三区| 亚洲字幕av一区二区三区四区| 久久久久.com| 欧美一区二区影院| 可以免费看的av毛片| 极品少妇一区二区三区| 国产精品www色诱视频| 99视频免费看| 国产一区二区0| 久久综合九色欧美狠狠| 天天操天天干天天爽| 国产精品污网站| 热re99久久精品国99热蜜月| 欧美另类自拍| 久久久精品人体av艺术| 欧美日产一区二区三区在线观看| 天堂а√在线8种子蜜桃视频 | 亚洲精品国产精品久久| 77thz桃花论族在线观看| 亚洲一区电影777| 成年人网站国产| 国内激情视频在线观看| 欧美久久久久免费| 无套白嫩进入乌克兰美女| 亚洲精品tv| 亚洲天堂男人的天堂| 精品人体无码一区二区三区| 日韩免费看片| 久久夜精品香蕉| 日韩黄色一级视频| 久久午夜老司机| 亚洲欧洲精品一区| 波多野结衣亚洲一二三| 亚洲国产一区二区三区在线观看| 日韩在线一卡二卡| 欧美精品三级| 97**国产露脸精品国产| 亚洲国产精品久久久久久6q| av在线不卡电影| 日韩欧美视频一区二区| 免费av在线网址| 亚洲尤物在线视频观看| 欧美性受xxxxxx黑人xyx性爽| 欧美日韩在线二区| 欧美成人免费视频| 国产模特av私拍大尺度| 成人ar影院免费观看视频| 欧美日韩一区二区三| 国产伦理精品| 日韩www在线| 毛片视频网站在线观看| 91网站在线播放| 国产精品免费入口| 99国内精品久久久久| 日韩在线观看免费全| 国产精品日日夜夜| 成人午夜视频在线观看| 视频在线一区二区三区| 九九热线视频只有这里最精品| 亚洲图片欧美午夜| 中文字幕视频一区二区| 日韩一区在线看| 69久久精品无码一区二区| 激情综合自拍| 麻豆亚洲一区| 欧美亚洲福利| 欧美激情va永久在线播放| 蜜臀久久久久久999| 国产精品美女久久久久aⅴ| 777一区二区| 九热爱视频精品视频| 国产精品h片在线播放| www.欧美国产| 国产精品久久久久久久久图文区 | 色呦呦在线看| 91国偷自产一区二区三区观看 | 日本亚洲不卡| 国产精品草莓在线免费观看| 老司机午夜在线| 亚洲福利在线视频| 少妇高潮在线观看| 国产成人激情av| 欧美激情国产精品日韩| 国产精品伦理久久久久久| 国产成人亚洲综合| av黄在线观看| 亚洲美女av黄| 国产男女无套免费网站| 欧美日韩亚洲网| 色老板免费视频| 久久精品国产网站| 亚洲成人a**址| 亚洲国产高清在线观看| 精品久久久av| 色婷婷在线视频| 欧美色国产精品| jizz国产免费| 成人永久看片免费视频天堂| 97视频在线免费播放| 亚洲国产不卡| 五月天色一区| 欧美精品密入口播放| 91精品久久久久久久久久入口| 电影av一区| 欧美性受xxxx| 日本免费www| 成人精品视频网站| 日本一二区免费| 久久久精品午夜少妇| 国产欧美精品aaaaaa片| 日韩最新av| 国产精品入口日韩视频大尺度| 国产二区视频在线观看| 亚洲成人精品久久| 99热这里只有精| 欧美三级日韩三级| 一二三区免费视频| 国产精品久久久久婷婷| 国产一级二级在线观看| 国产成人一区在线| 国产色一区二区三区| 美女视频亚洲色图| 国产成人午夜视频网址 | 国产精品91久久久久久| www在线观看黄色| 欧美高清激情视频| 成年人网站在线| 日韩午夜激情视频| 国产精品区在线观看| 一区二区三区鲁丝不卡| 激情无码人妻又粗又大| 国产高清不卡一区二区| 杨幂毛片午夜性生毛片| 日韩国产在线观看| 日韩在线第三页| 中国精品18videos性欧美| 成人av蜜桃| 亚洲一级大片| 91久久精品国产91久久性色tv | 成人av.网址在线网站| 97成人超碰| 国产精品视频免费在线| 九色成人搞黄网站| 久久999免费视频| 黄色免费在线看| 另类少妇人与禽zozz0性伦| 麻豆传媒在线免费看| 久久精品美女视频网站| 老司机福利在线视频| 欧美成人四级hd版| 久久99亚洲网美利坚合众国| 久久久亚洲天堂| 中文字幕在线观看日本| 欧美成人免费网站| 日韩在线观看视频一区| 亚洲国产精品久久91精品| 天天操天天操天天干| 亚洲精品一区二区三区不| 国产视频在线观看免费| 日韩午夜中文字幕| 亚洲精品一区二区三区不卡| 亚洲激情小视频| 高清av电影在线观看| 日韩视频免费大全中文字幕| 伊人在我在线看导航| 久久久亚洲影院| 日韩电影大全网站| 成人激情在线播放| 成人高潮视频| 亚洲综合中文字幕在线| www.爱久久| 欧美重口乱码一区二区| 99精品全国免费观看视频软件| a级片一区二区| 99久久久久国产精品| 日韩精品福利片午夜免费观看| 国产欧美日韩免费观看| 一区二区三区四区视频在线 | 欧美经典一区二区| 亚洲av成人精品一区二区三区 | 成人黄色免费片| eeuss鲁片一区二区三区| 欧美日韩亚洲免费| 一区二区三区在线电影| 97国产精东麻豆人妻电影 | 国产youjizz在线| 操人视频在线观看欧美| 亚洲精品成人图区| 91产国在线观看动作片喷水| 国产情侣一区二区三区| 国产成人中文字幕| 欧美视频二区欧美影视| 国产在线拍偷自揄拍精品| 99精品国产一区二区三区2021 | 在线观看日韩一区| 国产又大又黄又粗| 天天色天天爱天天射综合| 久久免费公开视频| 欧美日韩一区二区三区四区五区 | 91麻豆精品国产综合久久久 | 黄色小网站91| 97超碰成人| 一区二区免费在线视频| 免费日韩精品中文字幕视频在线| 999热精品视频| 国产午夜精品久久久久久免费视 | 一本色道久久综合亚洲精品图片| caoporen国产精品视频| 九九热视频在线免费观看| 色综合久久久久网| 日韩欧美国产另类| 亚洲成年人在线| 免费高清完整在线观看| 国产成人中文字幕| 要久久爱电视剧全集完整观看| 日韩欧美三级电影| 午夜亚洲伦理| 欧美xxxxx少妇| 亚洲一区中文日韩| 国产精品久久久久久久久久久久久久久久久久 | 亚洲国模精品一区| 日本片在线看| 91青草视频久久| 99国产**精品****| 中文字幕网av| 国产精品免费免费| 亚洲av无码不卡| 国产一区二区三区在线观看网站| 97超碰在线免费| 国产精品日韩高清| 国产日产精品一区二区三区四区的观看方式 | 人妻在线日韩免费视频| 97精品久久久午夜一区二区三区| 久久久久久久久久久97| 欧美一区二区三区公司| 午夜成人免费影院| 最近2019中文字幕mv免费看| 国产美女在线观看| 91精品视频网站| 久久久久久久久久久久久久久久久久 | 欧美日韩亚洲一区二区三区四区| 亚洲欧美日韩在线观看a三区| 免费a在线观看播放| 日韩欧美在线国产| 91免费视频播放| 日韩在线观看av| 国产精品中文| 欧美日韩一区二区三区在线视频 | 国产在线拍揄自揄视频不卡99| 国产一区二区三区探花| 亚洲精品怡红院| 成人一道本在线| 日本免费观看视| 欧美区一区二区三区| 三级在线观看网站| 91精品国产777在线观看| 婷婷综合成人| 欧美极品少妇无套实战| 成人综合婷婷国产精品久久免费| 久久免费小视频| 日韩国产精品视频| 成人免费毛片嘿嘿连载视频…| 伊人婷婷久久| 久久久久欧美精品| a资源在线观看| 日韩欧美国产不卡| 麻豆影视在线观看_| 亚洲一区二区三区毛片| 亚洲高清毛片| 特级西西人体4444xxxx| 欧美专区在线观看一区| 黄在线免费观看| 精品毛片久久久久久| 日本网站在线观看一区二区三区| www.免费av| 欧美色男人天堂| 成人三级小说| 51国产成人精品午夜福中文下载 | 97久久精品国产| 深夜激情久久| 能在线观看的av| 亚洲女与黑人做爰| 天堂中文资源在线| 成人高h视频在线| 国产亚洲亚洲| 中文字幕三级电影| 91黄色小视频| 青青草原国产在线| 日日噜噜噜噜夜夜爽亚洲精品| 理论片午夜视频在线观看| 欧美三级日韩三级| a级网站在线播放| 欧美最大成人综合网| 国产成人精品1024| 中文字幕精品无码亚| 97免费中文视频在线观看|