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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FreeRTOS---堆内存管理(一)

發布時間:2023/12/1 编程问答 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FreeRTOS---堆内存管理(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

FreeRTOS的堆內存管理

  • 簡介
    • 動態內存分配及其與 FreeRTOS 的相關性
    • 動態內存分配選項
  • 內存分配方案
    • Heap_1
    • heap_2
    • Heap_3
    • Heap_4
      • 設置heap_4的起始地址
    • Heap_5
      • vPortDefineHeapRegions()
  • 堆相關的函數
    • xPortGetFreeHeapSize
    • xPortGetMinimumEverFreeHeapSize
    • Malloc調用失敗的Hook函數

這篇文章先說原理,下一遍文章說代碼的具體實現

簡介

從FreeRTOS V9.0.0開始,FreeRTOS應用程序可以完全靜態分配,無序包含堆內存管理器

動態內存分配及其與 FreeRTOS 的相關性

從FreeRTOS V9.0.0開始,內核對象可以在編譯時靜態分配,也可以在運行時動態分配,內核對象有任務、隊列、信號量和事件組。為了使FreeRTOS盡可能容易使用,這些內核對象不是在編譯時靜態分配,而是在運行時動態分配。 FreeRTOS會在每次創建內核對象時分配RAM,并在每次刪除內核對象時釋放RAM。該策略減少了設計和規劃工作,簡化了API,并最大限度減少了RAM占用空間。
動態內存分配是一個C編程概念,而不是特定于FreeRTOS或多任務處理的概念。它與FreeRTOS相關,因為內核對象是動態分配的,通用編譯器提供的動態內存分配方案不總是適合應用程序。可以使用C標準庫malloc()和free()分配內存,但由于一些原因,它們不合適:

  • 它們在小型嵌入式系統上并不總是可用。
  • 它們的實現可能相對較大,占用寶貴的代碼空間。
  • 它們很少是線程安全的。
  • 它們不是確定性的; 執行函數所花費的時間會因調用而異。
  • 它們可能會受到碎片化 1 的影響。
  • 它們會使鏈接器配置復雜化。
  • 如果允許堆空間增長為其他變量使用的內存,它們可能是難以調試錯誤的根源。

動態內存分配選項

FreeRTOS現在將內存分配視為可移植層的一部分(而不是核心代碼庫的一部分)。這是因為不同的嵌入式系統具有不同的動態內存分配和時序要求,從核心代碼庫中刪除動態內存分配使應用程序編寫者能夠在適當的時候提供他們自己的特定實現。
當FreeRTOS需要RAM時,它不會調用malloc(),而是調用pvPortMalloc(),當RAM釋放內存時,內核不會調用free(),而是調用vPortFree()。pvPortMalloc()與標準C庫malloc函數原型相同,vPortFree()與標準C庫free()函數原型相同。
pvPortMalloc()和vPortFree()是公共函數,因此也可以從應用程序代碼中調用。
FreeRTOS提供了pvPortMalloc()和vPortFree()的五個示例實現,FreeRTOS應用程序可以使用示例實現之一,也可以提供自己的實現。這五個實例分別定義在heap_1.c、heap_2.c、heap_3.c、heap_4.c、heap_5.c源文件中,均位于FreeRTOS/Source/portable/MemMang目錄中。

內存分配方案

Heap_1

小型專用嵌入式系統通常只在調度程序啟動前,只創建任務和其他內核對象,在這種情況下,內存僅在應用程序開始執行任何實時功能之前由內核動態分配,并且內存在應用程序的生命周期內保持分配狀態。 這意味著所選擇的分配方案不必考慮任何更復雜的內存分配問題,例如確定性和碎片,而可以只考慮代碼大小和簡單性等屬性。 也就是說,只分配內存,其他像把兩個相鄰的空閑塊整合到一塊,這個是不管的。
Heap_1.c實現了一個非常基本的pvPortMalloc()版本,并沒有實現vPortFree(),所以從不刪除任務或其他內核對象的應用程序可以使用heap_1。當調用pvPortMalloc()時,heap_1分配方案將一個堆細分為更小的塊,堆的總大小由FreeRTOSConfig.h中的宏configTOTAL_HEAP_SIZE設置,但是為字節。
每個創建的任務都要兩個內存塊,一個是任務控制塊(TCB),另一個堆棧,這兩個都從堆分配。下圖演示來了heap_1如何在創建任務時細分堆

  • A 顯示創建任何任務之前的堆——整個堆都是空閑的。
  • B 顯示創建一項任務后的堆。
  • C 顯示創建三個任務后的堆。
    heap_1適用于那些一旦創建好任務、信號量、隊列和事件組就再也不會刪除的應用。一些禁止使用動態內存分配的商業關鍵和安全關鍵系統也有可能使用 heap_1。由于與非確定性、內存碎片和分配失敗相關的不確定性,關鍵系統通常禁止動態內存分配——但 Heap_1 始終是確定性的,不能對內存進行碎片化。heap_1代碼實現和內存分配過程都很簡單,內存是從一個靜態數組(堆)分配到的,也就是適合那些不需要動態內存分配的應用

heap_2

為了向后兼容,FreeRTOS保留了Heap_21,但不建議使用它,使用heap_4,因為heap_4提供了增強的功能。
heap_2.c的大小也通過configTOTAL_HEAP_SIZE確定,它使用最佳擬合算法來分配內存,并且與heap_1不同,它允許釋放內存。同樣數組(堆)是靜態聲明的,因此會消耗大量的RAM,最佳擬合算法確保PVPortMalloc()使用大小與請求的字節數最接近的空閑內存塊,比如,考慮以下場景:堆包含三個空閑內存塊,分為為5字節、25字節和100字節,調用pvPortMalloc來請求20字節的RAM??梢匀菁{請求的字節數最小RAM空閑塊是25字節,因此pvPortMalloc()將25字節塊分為一個20字節塊和一個5字節塊,然后返回指向20字節的塊的指針,新的5字節塊依然可以被pvPortMalloc調用。
與heap_4不同,heap_2不會將相鄰的空閑塊合并為一個更大的塊,因此容易發生碎片。 Heap_2適用于重復創建和刪除任務的應用程序,前提是分配給創建的任務和堆棧大小不變。
下圖演示了在創建、刪除和再次創建任務時最佳擬合算法的工作原理:

  • A 顯示創建三個任務后的數組。 一個大的空閑塊保留在陣列的頂部。
  • B 顯示其中一個任務被刪除后的數組。 數組頂部的大空閑塊仍然存在。 現在還有兩個較小的空閑塊,它們以前分配給已刪除任務的 TCB 和堆棧。
  • C 顯示創建另一個任務后的情況。 創建任務導致對 pvPortMalloc() 的兩次調用,一次分配 新的 TCB,一次分配任務堆棧。 任務是使用 xTaskCreate() API 函數創建的。 對 pvPortMalloc() 的調用發生在 xTaskCreate() 內部。
    Heap_2 不是確定性的,但比 malloc() 和 free() 的大多數標準庫實現要快。
  • Heap_3

    Heap_3使用標準庫malloc()和free()函數,因此堆的大小由鏈接器配置定義,configTOTAL_HEAP_SIZE設置對其沒有影響,Heap_3通過暫時掛起FreeRTOS調度程序使malloc()和free()線程安全。

    Heap_4

    與heap_1和heap_2一樣,heap_4的工作原理是將數組細分為更小的塊,數組是靜態分配的,并有configTOTAL_HEAP_SIZE確定尺寸,heap_4使用first fit算法來分配內存,與heap_2冉,heap_4將合并相鄰的空閑內存塊,然后組合成一個更大的塊,從而最大限度的降低內存碎片的風險。
    the first fit算法確保pvPortMalloc()使用第一個能夠容納請求字節數的空閑塊,例如,考慮以下場景:
    堆包含三個空閑內存塊,按照它們在數組中出現的順序,分別為5字節、200字節和100字節,調用pvPortMalloc()來請求20字節的RAM,第一個適合請求的字節數的空閑塊是200字節,因此pvPortMalloc在返回指針之前將200字節拆分為一個20字節的塊和一個180字節的塊,返回的指針指向20字節的塊,新的180字節塊仍可以被pvPortMalloc調用。
    Heap_4將合并相鄰的空閑塊組合成一個更大的塊,最大限度的降低碎片的風險,并使其適用于重復分配和釋放不同大小的RAM塊的應用程序。
    下圖演示了具有內存合并的 heap_4 首次擬合算法的工作原理,如內存被分配和釋放:

  • A 顯示創建三個任務后的數組。一個大的空閑塊保留在陣列的頂部。
  • B 顯示其中一個任務被刪除后的數組。數組頂部的大空閑塊仍然存在。還有一個空閑塊,其中先前分配了已刪除任務的 TCB 和堆棧。請注意,與演示 heap_2 時不同,刪除 TCB 時釋放的內存和刪除堆棧時釋放的內存不會保留為兩個單獨的空閑塊,而是組合在一起以創建更大的單個空閑塊。
  • C 顯示了創建 FreeRTOS 隊列后的情況。隊列是使用 xQueueCreate() API 函數創建的。 xQueueCreate() 調用 pvPortMalloc() 來分配隊列使用的 RAM。由于 heap_4 使用the first fit算法,pvPortMalloc() 將從第一個足夠大以容納隊列的空閑 RAM 塊分配 RAM,使用的是刪除任務時釋放的 RAM。然而,隊列不會消耗空閑塊中的所有 RAM,因此該塊被分成兩部分,未使用的部分仍然可用于未來對 pvPortMalloc() 的調用。
  • D 顯示了直接從應用程序代碼調用 pvPortMalloc() 后的情況,而不是通過調用 FreeRTOS API 函數間接調用的情況。用戶分配的塊足夠小,可以放入第一個空閑塊中,該塊是分配給隊列的內存和分配給后續 TCB 的內存之間的塊。
    刪除任務時釋放的內存現在已拆分為三個單獨的塊;第一個塊保存隊列,第二個塊保存用戶分配的內存,第三個塊保持空閑。
  • E顯示隊列被刪除后的情況,自動釋放已分配給刪除隊列的內存?,F在用戶分配塊的兩側都有空閑內存。
  • F 顯示用戶分配的內存也被釋放后的情況。用戶分配塊已使用的內存已與任一側的空閑內存組合以創建更大的單個空閑塊。
  • Heap_4 不是確定性的,但比 malloc() 和 free() 的大多數標準庫實現要快。

    設置heap_4的起始地址

    有時,應用程序編寫者需要將 heap_4 使用的數組放置在特定的內存地址。 例如,FreeRTOS 任務使用的堆棧是從堆分配的,因此可能有必要確保堆位于快速內部內存中,而不是位于慢速外部內存中。
    默認情況下,heap_4 使用的數組在 heap_4.c 源文件中聲明,其起始地址由鏈接器自動設置。 但是,如果 FreeRTOSConfig.h 中的 configAPPLICATION_ALLOCATED_HEAP 設置為 1,則該數組必須改為由使用 FreeRTOS 的應用程序聲明。 如果數組被聲明為應用程序的一部分,那么應用程序的編寫者可以設置它的起始地址。
    如果 configAPPLICATION_ALLOCATED_HEAP 在 FreeRTOSConfig.h 中設置為 1,則必須在應用程序的源文件之一中聲明一個名為 ucHeap 并由 configTOTAL_HEAP_SIZE 設置大小的 uint8_t 數組。

    Heap_5

    heap_5用于分配和釋放內存的算法和heap_4相同,不同的是heap_5不限于從單個靜態聲明的數組分配內存,heap_5可以從多個獨立的內存空間分配內存,當運行 FreeRTOS 的系統提供的 RAM 沒有在系統內存映射中顯示為單個連續(沒有空間)塊時,Heap_5 很有用。
    在撰寫本文時,heap_5 是唯一提供的內存分配方案,必須在調用 pvPortMalloc() 之前顯式初始化。 Heap_5 使用 vPortDefineHeapRegions() API 函數初始化。 使用 heap_5 時,必須在創建任何內核對象(任務、隊列、信號量等)之前調用 vPortDefineHeapRegions()。

    vPortDefineHeapRegions()

    vPortDefineHeapRegions用于指定每個單獨的內存區域的起始地址和大小,這些區域構成heap_5使用的總內存。

    void vPortDefineHeapRegions( const HeapRegion_t * const pxHeapRegions );

    每個單獨的內存區域由HeapRegion_t類型的結構體描述**,所有可用內存區域的描述**作為 HeapRegion_t 結構數組傳遞到 vPortDefineHeapRegions()。

    typedef struct HeapRegion { /* The start address of a block of memory that will be part of the heap.*/ uint8_t *pucStartAddress; /* The size of the block of memory in bytes. */ size_t xSizeInBytes; } HeapRegion_t;

    pxHeapRegions 指向 HeapRegion_t 結構數組開頭的指針。 數組中的每個結構都描述了內存的起始地址和長度,數組中的 HeapRegion_t 結構體必須按起始地址排序; 描述起始地址最低的內存區域的 HeapRegion_t 結構必須是數組中的第一個結構,描述起始地址最高的內存區域HeapRegion_t 結構必須是數組中的最后一個結構。數組的末尾由 HeapRegion_t 結構標記,該結構的 pucStartAddress 成員設置為 NULL。

    例如,考慮下圖中所示的假設內存映射,其中包含三個獨立的RAM塊:RAM1、RAM2和RAM3,假設可執行代碼放置在只讀寄存器中,沒有顯示。

    下面的代碼描述了整個RAM的三個塊

    /* Define the start address and size of the three RAM regions. */ #define RAM1_START_ADDRESS ( ( uint8_t * ) 0x00010000 ) #define RAM1_SIZE ( 65 * 1024 ) #define RAM2_START_ADDRESS ( ( uint8_t * ) 0x00020000 ) #define RAM2_SIZE ( 32 * 1024 ) #define RAM3_START_ADDRESS ( ( uint8_t * ) 0x00030000 ) #define RAM3_SIZE ( 32 * 1024 ) /* Create an array of HeapRegion_t definitions, with an index for each of the three RAM regions, and terminating the array with a NULL address. The HeapRegion_t structures must appear in start address order, with the structure that contains the lowest start address appearing first. */ const HeapRegion_t xHeapRegions[] = { { RAM1_START_ADDRESS, RAM1_SIZE }, { RAM2_START_ADDRESS, RAM2_SIZE }, { RAM3_START_ADDRESS, RAM3_SIZE }, { NULL, 0 } /* Marks the end of the array. */ }; int main( void ) { /* Initialize heap_5. */ vPortDefineHeapRegions( xHeapRegions ); /* Add application code here. */ }

    雖然正確地描述了 RAM,但它沒有展示一個可用的示例,因為它將所有 RAM 分配給堆,沒有空閑 RAM 可供其他變量使用。
    構建項目時,構建過程的鏈接階段會為每個變量分配一個 RAM 地址。 可供鏈接器使用的 RAM 通常由鏈接器配置文件(例如鏈接描述文件)描述。假設鏈接描述文件包含關于 RAM1 的信息,但不包含關于 RAM2 或 RAM3 的信息。 因此,鏈接器將變量放置在 RAM1 中,只留下地址 0x0001nnnn 以上的 RAM1 部分可供 heap_5 使用。 0x0001nnnn 的實際值將取決于所鏈接的應用程序中包含的所有變量的組合大小。 鏈接器讓所有 RAM2 和所有 RAM3 未使用,留下整個 RAM2 和整個 RAM3 可供 heap_5 使用。
    如果使用上述 中所示的代碼,分配給地址 0x0001nnnn 下的 heap_5 的 RAM 將與用于保存變量的 RAM 重疊。為了避免這種情況,xHeapRegions[] 數組中的第一個 HeapRegion_t 結構可以使用 0x0001nnnn 的起始地址,而不是 0x00010000 的起始地址。**但是,這不是推薦的解決方案,**因為:

  • 起始地址可能不容易確定。
  • 鏈接器使用的 RAM 量可能會在未來的構建中發生變化,因此需要更新 HeapRegion_t 結構中使用的起始地址。
  • 如果鏈接器使用的 RAM 和 heap_5 使用的 RAM 重疊,構建工具將不知道,因此無法警告應用程序編寫者。
    下面 展示了一個更方便和可維護的示例。它聲明了一個名為 ucHeap 的數組。 ucHeap 是一個普通變量,因此它成為鏈接器分配給 RAM1 的數據的一部分。 xHeapRegions 數組中的第一個 HeapRegion_t 結構描述了 ucHeap 的起始地址和大小,因此 ucHeap 成為 heap_5 管理的內存的一部分。 ucHeap 的大小可以增加,直到鏈接器使用的 RAM 耗盡所有 RAM1
  • linker. */ #define RAM2_START_ADDRESS ( ( uint8_t * ) 0x00020000 ) #define RAM2_SIZE ( 32 * 1024 ) #define RAM3_START_ADDRESS ( ( uint8_t * ) 0x00030000 ) #define RAM3_SIZE ( 32 * 1024 ) /* Declare an array that will be part of the heap used by heap_5. The array will be placed in RAM1 by the linker. */ #define RAM1_HEAP_SIZE ( 30 * 1024 ) static uint8_t ucHeap[ RAM1_HEAP_SIZE ]; /* Create an array of HeapRegion_t definitions. Whereas in Listing 6 the first entry described all of RAM1, so heap_5 will have used all of RAM1, this time the first entry only describes the ucHeap array, so heap_5 will only use the part of RAM1 that contains the ucHeap array. The HeapRegion_t structures must still appear in start address order, with the structure that contains the lowest start address appearing first. */ const HeapRegion_t xHeapRegions[] = { { ucHeap, RAM1_HEAP_SIZE }, { RAM2_START_ADDRESS, RAM2_SIZE }, { RAM3_START_ADDRESS, RAM3_SIZE }, { NULL, 0 } /* Marks the end of the array. */ };

    堆相關的函數

    xPortGetFreeHeapSize

    xPortGetFreeHeapSize函數返回堆中的空閑字節數,它可用于優化堆大小。 例如,如果 xPortGetFreeHeapSize() 在所有內核對象創建后返回 2000,那么 configTOTAL_HEAP_SIZE 的值可以減少 2000。

    size_t xPortGetFreeHeapSize( void );

    xPortGetMinimumEverFreeHeapSize

    xPortGetMinimumEverFreeHeapSize返回自FreeRTOS應用程序開始執行以來,堆中存在最小未分配字節數。xPortGetMinimumEverFreeHeapSize返回值表明應用程序接近耗盡堆空間的程序, 例如,如果 xPortGetMinimumEverFreeHeapSize() 返回 200,那么在應用程序開始執行后的某個時間,它會在 200 字節內耗盡堆空間。
    xPortGetMinimumEverFreeHeapSize() 僅在使用 heap_4 或 heap_5 時可用。

    size_t xPortGetMinimumEverFreeHeapSize( void );

    Malloc調用失敗的Hook函數

    pvPortMalloc() 可以直接從應用程序代碼中調用。每次創建內核對象時,它也會在 FreeRTOS 源文件中調用。內核對象的例子包括任務、隊列、信號量和事件組。
    像標準庫 malloc() 函數一樣,如果 pvPortMalloc() 因為請求大小的塊不存在而無法返回 RAM 塊,那么它將返回 NULL,則不會創建內核對象。
    如果對 pvPortMalloc() 的調用返回 NULL,則所有示例堆分配方案都可以配置一個調用掛鉤(或回調)函數。如果在 FreeRTOSConfig.h 中將 configUSE_MALLOC_FAILED_HOOK 設置為 1,那么應用程序必須提供一個 malloc 失敗的鉤子函數。該函數可以以任何適合應用程序的方式實現,該函數如下:

    void vApplicationMallocFailedHook( void );

    總結

    以上是生活随笔為你收集整理的FreeRTOS---堆内存管理(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    激情五月色播五月 | 国产三级在线播放 | 久久艹艹 | 在线观看激情av | 日本高清中文字幕有码在线 | 久久激情视频免费观看 | 欧美一二三区在线观看 | av一本久道久久波多野结衣 | 91传媒免费在线观看 | 97超碰国产精品女人人人爽 | 久久久久久久久影视 | 日本精品xxxx| 美女网站在线免费观看 | 精品96久久久久久中文字幕无 | 五月婷婷丁香综合 | 国产视频不卡一区 | 久久精品一二三区 | 亚洲精品观看 | 中文字幕丝袜一区二区 | 国产自产高清不卡 | 成全免费观看视频 | 视频在线一区 | 中文字幕色在线 | 亚洲91精品在线观看 | 日韩精品久久一区二区 | 黄色网址国产 | 色噜噜日韩精品欧美一区二区 | 久久丁香网| 国产视频1区2区3区 久久夜视频 | 成人免费观看av | 怡春院av| 久99精品| 九九欧美| 国产aa精品 | 人人澡澡人人 | 久久久久久亚洲精品 | 91av免费看 | 久久视频这里有久久精品视频11 | 国产精品一区一区三区 | 日韩精品一区二区免费 | 久久久一本精品99久久精品66 | 日韩欧美视频一区二区三区 | 久久久久国产精品一区二区 | 久久免费视频在线观看6 | 国产糖心vlog在线观看 | 爱情影院aqdy鲁丝片二区 | 色婷婷激情五月 | 超碰在线资源 | 丁香5月婷婷 | 久久国产美女 | h文在线观看免费 | 精油按摩av | 三级在线国产 | 中中文字幕av | 欧美激情第一页xxx 午夜性福利 | 一性一交视频 | 激情综合狠狠 | 欧美日韩不卡在线观看 | 在线观看的黄色 | 一区二区三区四区免费视频 | av免费在线观看网站 | 日韩欧美一区二区在线观看 | 国产粉嫩在线 | 日韩av手机在线观看 | 国产成人福利片 | 五月天婷亚洲天综合网精品偷 | 五月天六月婷婷 | 欧美日韩网站 | 色欲综合视频天天天 | 国产91精品在线播放 | 亚洲一区欧美精品 | 黄色电影在线免费观看 | 国产三级香港三韩国三级 | 热久久免费国产视频 | 91中文字幕一区 | 亚洲一区二区精品3399 | 337p欧美| 亚洲va欧洲va国产va不卡 | 亚洲精品视频在线观看网站 | 国产精品嫩草影院9 | 97碰在线视频 | 五月婷婷丁香 | 精品久久网 | 国产精品女人久久久 | 在线综合 亚洲 欧美在线视频 | 久久高视频 | 亚洲干视频在线观看 | 在线看片中文字幕 | 97视频在线免费观看 | 国产精品专区h在线观看 | 在线观看av国产 | 免费久草视频 | 日韩精品在线观看视频 | 成人午夜精品福利免费 | 中文字幕在线视频第一页 | 欧美精品一区在线发布 | 又黄又网站 | 五月综合激情 | 国产精品都在这里 | 久久久精品久久日韩一区综合 | 亚洲视频电影在线 | 久久精品一区二区三区中文字幕 | 欧美午夜剧场 | 看av免费| 97色在线| 久久香蕉国产精品麻豆粉嫩av | 精品在线99 | 国产一区二区日本 | 成人动漫一区二区三区 | 天天综合网在线 | 91精品国产91热久久久做人人 | 国产高清中文字幕 | 天天插天天爱 | 久草在线免费电影 | 久草久草在线 | 久久久九九| 欧美日韩视频一区二区 | 在线观看亚洲成人 | 性色视频在线 | 五月综合色 | 91av美女| 日本中文字幕系列 | 99精品免费久久久久久久久日本 | 久久免费的精品国产v∧ | 92中文资源在线 | 91福利社在线观看 | 色综久久 | 日本黄色大片儿 | 不卡在线一区 | 一区二区激情视频 | aaa日本高清在线播放免费观看 | 五月在线| 日韩精品一区二区三区免费观看视频 | 久久免费av | 国产97在线播放 | 国产视频在线看 | 性色大片在线观看 | 精品国产一区二区三区av性色 | 伊人网综合在线观看 | 在线观看视频免费大全 | 国产在线a视频 | 福利片免费看 | 99精品系列| 国产vs久久 | 国产成人av电影在线观看 | 97人人澡人人添人人爽超碰 | 欧美精品久久久久久久免费 | 成人黄色免费在线观看 | 在线免费观看视频一区 | 国产99在线| 亚洲精品高清在线观看 | 日本激情视频中文字幕 | 九九国产精品视频 | 天天草网站 | 国产精品久久久久一区二区三区共 | 97视频免费观看2区 亚洲视屏 | av中文资源在线 | 97视频在线观看播放 | 久久综合九色综合欧美就去吻 | 91精品国产自产老师啪 | 狠狠躁夜夜a产精品视频 | 成人av电影在线观看 | 免费av的网站 | 国产资源网 | 国产乱码精品一区二区三区介绍 | 久久免费的精品国产v∧ | 精品99久久久久久 | 久久久久综合 | 天天五月天色 | 黄网站免费久久 | 精品在线视频一区 | 成人免费色 | 全黄网站 | 韩日电影在线免费看 | 国产精品99久久久久久武松影视 | 久久国产区 | 国产一级二级在线播放 | 911香蕉视频 | av成人动漫在线观看 | 成人久久免费视频 | 日本中出在线观看 | 久久狠狠一本精品综合网 | 国产精品成人自产拍在线观看 | 国产中文在线观看 | www.夜夜干.com | 99久久激情 | 探花在线观看 | 成人av电影在线播放 | 免费看的黄色网 | 91精品导航 | 天天曰夜夜操 | 九九国产精品视频 | 国产色女人| 日本少妇久久久 | av电影在线观看 | 天天草网站 | 天天色棕合合合合合合 | 国产一级电影免费观看 | 国内精品福利视频 | 五月婷婷一区二区三区 | 欧美一级片在线播放 | av色一区 | 国产高清中文字幕 | 久久伊人爱 | 久久人人爽人人爽 | 免费涩涩网站 | 久久96国产精品久久99漫画 | 超碰在线94 | 久久伊人精品一区二区三区 | 国产成人精品999在线观看 | 成年人免费在线 | 久久久久久久国产精品影院 | 免费观看国产成人 | 欧美污网站 | 亚洲精品国产第一综合99久久 | 一本到视频在线观看 | 国产高清精 | 超碰久热| 中文字幕在线国产精品 | 国产精品久久99 | 色综合天天视频在线观看 | 久久精品美女视频 | 麻豆91在线播放 | 婷婷在线视频 | 看污网站 | 韩国在线视频一区 | 91av片| 久久国产高清视频 | 色大片免费看 | 有码中文字幕 | 亚洲精品自拍 | 日本99久久 | 久久一视频 | 五月天久久狠狠 | 国产亚洲精品电影 | 91精品视频导航 | 亚洲综合小说电影qvod | 91色在线观看视频 | 三级av免费看 | 午夜精品久久一牛影视 | 中文字幕 国产 一区 | 最新影院 | 91女子私密保健养生少妇 | 免费观看91视频大全 | 亚洲一级片在线看 | 少妇性bbb搡bbb爽爽爽欧美 | 国产免费又粗又猛又爽 | 欧美一级电影免费观看 | 久久在线精品视频 | 一级免费看视频 | 97超碰精品 | 国产精品丝袜久久久久久久不卡 | 超碰久热 | 狠色在线 | 最新日韩在线 | 99久久这里有精品 | 日韩欧美在线一区二区 | 青青河边草免费观看 | 美女免费黄视频网站 | 日韩视频1区| 久草www| 免费能看的黄色片 | 97成人资源站 | 九九热99视频 | 国产成人综合精品 | 美女视频黄免费网站 | 国际av在线 | 精品久久1 | 天堂黄色片 | 97夜夜澡人人爽人人免费 | 久久久国产精品电影 | 免费成人短视频 | 天天天天色综合 | 久久视频在线视频 | 国内精品久久久久久久影视麻豆 | 激情五月婷婷综合 | 国产精品你懂的在线观看 | 日韩色视频在线观看 | 99九九热只有国产精品 | av天天草 | 麻豆视频免费版 | 日韩一区正在播放 | 亚洲色综合 | 少妇bbb| av丝袜在线 | 夜夜操网 | 免费日韩av片 | 久久久福利 | 国产不卡在线 | 蜜桃av人人夜夜澡人人爽 | 国产一区在线视频播放 | 丁香电影小说免费视频观看 | av中文字幕剧情 | 97国产一区二区 | 日韩av在线免费播放 | 美女视频又黄又免费 | 91成人在线看 | 久久国产精品久久国产精品 | 91视频观看免费 | 九九免费在线观看视频 | 人人干网 | 9ⅰ精品久久久久久久久中文字幕 | 日日爽天天 | 天天干天天操人体 | 国产福利免费在线观看 | 99re国产视频 | 丁香婷婷综合色啪 | 久久99国产精品久久99 | 国产一区免费在线 | 国产综合香蕉五月婷在线 | 国产明星视频三级a三级点| 最近av在线 | 中文在线免费一区三区 | 97视频中文字幕 | 在线岛国av | 狠狠色丁香久久综合网 | 91精品国产99久久久久久久 | 日韩成人免费在线电影 | 精品一区二区三区四区在线 | 国内偷拍精品视频 | 又黄又爽的视频在线观看网站 | 成人国产精品一区 | 99亚洲视频 | 91c网站色版视频 | 婷婷精品国产欧美精品亚洲人人爽 | 久久观看最新视频 | 91爱爱视频 | 一区二区影视 | 日本久久中文字幕 | av免费在线观看网站 | 日本公妇在线观看 | 91精品免费在线 | 在线观看岛国片 | 国产在线观看国语版免费 | 日韩美在线观看 | 国产视频一区二区在线观看 | 国产精品99免费看 | 免费黄色在线播放 | 午夜久久福利视频 | 国产美女精品人人做人人爽 | 国产女做a爱免费视频 | 伊人久久av | 日韩经典一区二区三区 | 欧美激情在线网站 | 久久久伦理 | 亚洲a资源 | 色福利网 | 91最新国产| 国产福利小视频在线 | 丁香色天天 | 国产精品一区久久久久 | 99国产精品一区 | 亚洲精品99久久久久中文字幕 | 久久99久久99精品免观看软件 | 一区二区伦理电影 | 狠狠色丁香久久婷婷综 | 日日天天干 | 人人dvd| 九九视频免费观看视频精品 | 久久久久在线视频 | 亚洲欧洲国产日韩精品 | 国产精品久久久久久久久久久久午 | 黄色小网站在线观看 | 久久久久久久国产精品影院 | av大全在线免费观看 | 日韩网站在线免费观看 | 亚洲一区二区三区四区在线视频 | 国产精品久久久久久久免费大片 | 欧美视频一区二 | 毛片a级片| 91精品久久久久 | 国产精品视频久久久 | 麻豆视频入口 | 一本一本久久a久久精品牛牛影视 | 成人在线黄色 | 久久久久久精 | 久久999精品| 久久久久草 | 日本中文字幕在线观看 | 国产精品视频久久久 | 日韩av偷拍 | 中文字幕有码在线观看 | 综合婷婷丁香 | 奇米先锋| 亚洲欧美一区二区三区孕妇写真 | 国产不卡精品视频 | 中文字幕免费一区 | 亚洲免费色| 中文字幕色综合网 | 欧美日韩视频在线观看免费 | 亚洲精品网站 | 亚洲人精品午夜 | 国产区精品视频 | 成人h在线 | 国产欧美精品xxxx另类 | a黄色片| 国产在线理论片 | 免费网站在线观看成人 | 亚洲少妇激情 | 国产高清区 | 麻豆成人小视频 | 三级动图 | 日日噜噜噜噜夜夜爽亚洲精品 | 黄色三级免费观看 | 在线观看视频福利 | 久久电影色| 精品亚洲免费视频 | 国产一区 在线播放 | 国产99久久久国产精品成人免费 | 中文字幕制服丝袜av久久 | 日韩视频中文字幕在线观看 | 人人爽人人香蕉 | 亚洲精品9 | 在线观看国产成人av片 | 国产三级精品三级在线观看 | 亚洲精品免费在线视频 | 黄色毛片观看 | 亚洲精品一区二区三区在线观看 | 日韩在线视频国产 | 91色影院 | 欧美日韩精品二区第二页 | 中文av影院| 玖玖在线精品 | 国产精品综合久久 | 99在线高清视频在线播放 | 午夜在线资源 | 热久久精品在线 | 人人草在线视频 | 日韩中字在线 | 久久久国产一区二区 | 亚洲国产精品传媒在线观看 | 在线观看国产成人av片 | 中文久久精品 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 夜夜骑日日操 | av在线免费观看网站 | 中文字幕资源在线观看 | 久久精品久久久久电影 | 超碰在线人 | 婷婷五月在线视频 | 欧美精品999| 中文av日韩 | 久久精品久久精品 | 日日夜夜精品视频天天综合网 | 日韩大陆欧美高清视频区 | 中文字幕日本特黄aa毛片 | 97碰在线视频 | 韩国三级一区 | 色狠狠久久av五月综合 | 日日爱夜夜爱 | 日韩一区二区三区免费电影 | 日本中文字幕在线视频 | 97色婷婷| 91九色自拍| a在线一区 | 日韩高清免费无专码区 | 天天射成人 | 五月婷婷,六月丁香 | 婷婷综合av| 综合久久网站 | 免费国产ww | 欧美日韩国产二区三区 | 国产日韩欧美网站 | 又爽又黄又无遮挡网站动态图 | 97精品免费视频 | 91精品夜夜 | 亚洲精品美女视频 | 久久久久五月天 | 中文字幕在线免费看 | 国产精品福利午夜在线观看 | 最新在线你懂的 | 久久99影院 | 亚洲国产一区在线观看 | 久久国产一二区 | 国产精品久久久久永久免费看 | 色天堂在线视频 | 91一区二区三区在线观看 | av资源网在线播放 | 亚洲永久国产精品 | 一区三区视频 | 国产亚洲字幕 | 日本精品一区二区 | 亚洲国产日本 | 精品v亚洲v欧美v高清v | 97超级碰碰碰碰久久久久 | 日日干夜夜草 | 91av在线播放视频 | 黄色一级大片免费看 | 99热高清| 久久精品国产精品亚洲 | 欧美精品网站 | 亚洲一区美女视频在线观看免费 | 日韩久久精品一区二区三区下载 | 天天插伊人 | 久久免费视频精品 | 成人免费视频播放 | 一区二区三区免费播放 | 麻豆果冻剧传媒在线播放 | 午夜久久久久久久 | 国产精品色视频 | 国产伦精品一区二区三区四区视频 | 亚洲一二区视频 | av中文字幕电影 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 四虎成人精品永久免费av九九 | 中文字幕888 | 欧洲高潮三级做爰 | 国产高清视频在线播放一区 | 国产精品二区在线 | 中文字幕一区二区三区四区视频 | 九九免费在线观看视频 | 丁香婷婷综合激情五月色 | 粉嫩aⅴ一区二区三区 | 国产在线观看免费观看 | 91精品在线观看视频 | 碰超在线| 国产精品永久免费在线 | 国产一级一级国产 | 国产精品自产拍在线观看网站 | www.色com| 久草在线综合网 | 最新色视频| 中文字幕最新精品 | 97夜夜澡人人双人人人喊 | 韩国av免费观看 | 97精品国产97久久久久久免费 | 日韩欧美在线不卡 | 日韩一二区在线 | 欧美日韩亚洲在线 | 我爱av激情网 | 天天操天天是 | 人人澡人人干 | 波多野结衣精品 | 成人av一区二区在线观看 | av资源中文字幕 | 在线a人片免费观看视频 | 亚洲精品欧美专区 | 日韩欧美视频一区二区三区 | av在线电影播放 | 黄色的视频网站 | 香蕉网址 | 日本视频网 | 偷拍久久久 | 毛片网免费 | 亚洲女同ⅹxx女同tv | 五月婷婷久 | 女人18精品一区二区三区 | 久久看片网| 又爽又黄又无遮挡网站动态图 | 91看片在线观看 | 日韩亚洲国产中文字幕 | 999精品 | 久久99热久久99精品 | 亚洲免费在线观看视频 | 麻豆91在线观看 | 色开心| 亚洲黄色成人网 | av888av.com| 97免费在线观看视频 | 日本韩国精品一区二区在线观看 | 亚洲专区免费观看 | 97在线看 | 亚洲综合成人专区片 | 狠狠操狠狠干天天操 | 欧美少妇18p | 成人av免费在线看 | 天天射天天艹 | 精品网站999www | 亚洲国产精品激情在线观看 | 亚洲视频,欧洲视频 | 天天插狠狠插 | 色干综合 | 最新成人在线 | 成人三级视频 | 国产精品麻豆果冻传媒在线播放 | 免费在线观看日韩 | 国产精品视频地址 | 国产精品资源网 | 午夜精品视频福利 | 天堂av最新网址 | 久久影院精品 | 欧美性黄网官网 | 免费亚洲视频 | 波多野结衣视频一区 | 国内99视频| 久久婷婷五月综合色丁香 | 国产精品视频内 | 国产在线 一区二区三区 | 中文字幕在线日亚洲9 | 欧美亚洲成人免费 | 国产又粗又猛又色又黄视频 | 最近最新中文字幕视频 | 中午字幕在线 | 人人插人人搞 | 亚洲日本色 | 久久久久成人精品亚洲国产 | 亚洲天堂网在线观看视频 | 久久久久免费精品国产 | av电影免费在线看 | 亚洲成人国产精品 | 亚洲国产精品电影 | 精品国产观看 | 天天摸日日摸人人看 | 亚洲欧美日韩一二三区 | 国产精品成人自产拍在线观看 | 亚洲国产美女精品久久久久∴ | 五月天婷婷免费视频 | 日韩专区在线 | 五月婷婷在线观看视频 | 免费视频91蜜桃 | 欧美亚洲另类在线视频 | 国产高清在线看 | www.亚洲精品在线 | 国产精品久久久久久久久久妇女 | 97在线精品 | 亚洲精品在线电影 | 丝袜+亚洲+另类+欧美+变态 | 91精品久久久久久综合五月天 | 五月天激情综合网 | 人人射av| 91手机视频 | 人人精久 | 欧美做受69| 中文字幕在线观 | 国产综合精品一区二区三区 | 天堂麻豆 | 日本韩国精品一区二区在线观看 | 色全色在线资源网 | 欧美中文字幕久久 | 日韩欧美一区二区三区在线观看 | 精品国产一区二区三区四区在线观看 | 婷婷色婷婷 | 国产在线欧美日韩 | 成年人国产在线观看 | 亚洲精品久久久久www | 国色天香av | 国产黄a三级三级三级三级三级 | 久久精品99国产精品亚洲最刺激 | 99视屏 | 成+人+色综合 | 国产又粗又硬又爽视频 | 美国av大片 | 亚洲精品网站在线 | 国产亚洲婷婷免费 | 亚洲精品免费在线观看 | 亚洲无人区小视频 | 国产尤物一区二区三区 | 97夜夜澡人人爽人人免费 | 中文字幕 二区 | 久久精品电影院 | 丁香婷婷色月天 | 欧美成亚洲 | 国产精品久久电影网 | 婷婷视频在线 | 欧美综合在线观看 | 99九九99九九九视频精品 | 日韩高清片 | 香蕉视频在线看 | 国产蜜臀av | 日产乱码一二三区别免费 | 91久久丝袜国产露脸动漫 | 午夜精品久久久久99热app | 色综合久久88色综合天天 | 久操伊人 | 成人午夜黄色影院 | 五月天六月婷婷 | 啪啪激情网 | 午夜黄色一级片 | 久久99亚洲网美利坚合众国 | 黄色一级性片 | 国产精品一区免费看8c0m | 精品99在线视频 | av黄色免费网站 | 欧美日韩亚洲第一 | 欧美在线久久 | 久久99久国产精品黄毛片入口 | 国产一区观看 | 国产成人av网站 | 国产a国产a国产a | 99精品欧美一区二区蜜桃免费 | 中文字幕在线观 | 国产精品国产三级国产aⅴ9色 | 久久这里只精品 | 欧美性视频网站 | 精品日韩av| 免费日韩高清 | 成年性视频 | 国产视频黄 | 精品美女久久久久久免费 | 在线观看视频色 | 欧美午夜久久久 | a视频在线| 超碰国产在线播放 | 亚洲成av人片 | 免费观看www小视频的软件 | 人人澡视频 | 91久久人澡人人添人人爽欧美 | 日韩高清二区 | 福利视频一二区 | 久久久久在线观看 | 精品久久久999 | 久久九九精品久久 | 中文字幕在线成人 | 人人插人人 | 久久久久久久久久久网 | 日韩激情网 | 人人狠狠综合久久亚洲婷 | 亚洲天堂网视频在线观看 | 国产美女在线免费观看 | 中国一级片在线观看 | 婷婷色综合色 | 久久久久久福利 | 美女视频黄是免费的 | 在线观看岛国 | 精品久久五月天 | 日韩特黄一级欧美毛片特黄 | 午夜久久成人 | 麻豆影视在线播放 | 成人av在线亚洲 | 国产精品久久免费看 | 国产精品大尺度 | 天天干天天射天天爽 | 国产乱对白刺激视频在线观看女王 | 超碰人人舔 | av中文字幕在线观看网站 | 九九视频精品免费 | 国产精品免费久久久久 | 国产a视频免费观看 | 日韩精品不卡在线观看 | 久久人人插 | 色中文字幕在线观看 | 亚洲国产精品资源 | 国产精品国产三级国产不产一地 | 一级一片免费视频 | 日韩国产高清在线 | 久久精品国产精品亚洲 | 97人人精品 | 欧美日韩不卡一区 | 玖玖玖精品 | 久久综合九色99 | 国产 一区二区三区 在线 | 免费成人在线视频网站 | 欧美一级性生活视频 | 国产精品va在线观看入 | 日韩国产在线观看 | 在线观看欧美成人 | 日日夜夜草| 天天操比 | 久久久久免费网 | 91黄在线看| 在线观看黄色的网站 | 三级av免费看| 国产精品久久久久久a | 久久久69| 精品久久网 | 久久午夜精品 | 日本特黄特色aaa大片免费 | 亚洲成人av影片 | 97视频入口免费观看 | 欧美日本高清视频 | 久久优 | 96在线| 狠狠色噜噜狠狠狠狠2022 | 成人av在线直播 | 91精品视频免费看 | 久久草 | 夜夜婷婷 | 综合网欧美 | 999久久久国产精品 高清av免费观看 | 久久精品99精品国产香蕉 | 中文字幕文字幕一区二区 | 午夜精品久久久久久 | 天天操综 | 99热只有精品在线观看 | 96av视频 | 国产一区二区中文字幕 | 日本久久久久久科技有限公司 | 国产午夜av | 国产精品九九热 | 视频在线观看91 | 国产一级在线看 | 国产看片网站 | www.色国产 | 一本一本久久a久久精品综合 | 九九热99视频| 久草香蕉在线 | 九九在线高清精品视频 | 成人永久在线 | 人人澡人摸人人添学生av | 在线观看视频色 | 国产福利在线不卡 | 精品国产一区二区三区免费 | 久久美女免费视频 | 免费碰碰 | 国产欧美久久久精品影院 | 精品国产免费一区二区三区五区 | 国产精品成人一区二区三区吃奶 | 日本精品视频网站 | 超碰成人免费电影 | 国产白浆在线观看 | 免费在线观看av | 91网站观看 | 又长又大又黑又粗欧美 | 国产精品精品久久久久久 | www.久艹| 日韩av在线一区二区 | 蜜臀av夜夜澡人人爽人人 | 国产免费一区二区三区最新6 | 欧美日韩国产页 | jizz999| 国产精国产精品 | 美女国产精品 | 丁香免费视频 | 天天透天天插 | 久久国产网 | 久久爱导航 | 黄色a视频 | 精品一二三四视频 | 日韩精品一区二 | 欧美日韩成人一区 | 欧美日韩国产精品爽爽 | 日本久久中文 | 麻豆超碰| 中文字幕中文字幕 | 久久九九国产精品 | 超碰在线公开免费 | 夜夜骑日日 | 国产高清99 | 干天天| 日韩欧美一级二级 | 9免费视频 | 亚洲第一成网站 | 国产福利一区二区三区视频 | 国产成人综合图片 | 狠狠色噜噜狠狠狠狠2022 | 中文字幕免费一区 | 丝袜美腿在线视频 | 综合色伊人 | 五月天电影免费在线观看一区 | 中文字幕有码在线观看 | 91精品一区二区三区蜜桃 | 精品一区91 | 国产资源免费在线观看 | 日韩精品一区二区三区丰满 | 国产精品99久久久久的智能播放 | 日日天天av | 欧美精品免费一区二区 | 欧美成年人在线观看 | 黄色aaaaa | 色欧美成人精品a∨在线观看 | 免费看v片 | 天天爱天天色 | 久久女同性恋中文字幕 | 国产91综合一区在线观看 | 久草视频免费观 | 日韩 精品 一区 国产 麻豆 | 国产不卡精品视频 | 日韩理论在线 | 日韩欧美高清在线观看 | 国产精品久久久久久久久久久久午 | 日本久久久久 | 国产小视频在线观看 | 婷婷色综 | 五月天亚洲激情 | 国产午夜免费视频 | 久久久久久久久久电影 | 免费看三级网站 | 中文字幕一区二区三区久久 | 国产精品二区三区 | 干av在线 | 麻豆久久一区 | 国产视频 久久久 | 婷婷深爱五月 | 午夜精品电影一区二区在线 | 成人免费一级片 | 18久久久久 | 波多野结衣久久精品 | 美国三级黄色大片 | 国产精品videoxxxx | 夜夜干天天操 | 国产玖玖精品视频 | 黄色福利网 | 国内偷拍精品视频 | 久久国产精品精品国产色婷婷 | av一本久道久久波多野结衣 | 中日韩男男gay无套 日韩精品一区二区三区高清免费 | 久久综合中文色婷婷 | 色插综合 | 中文字幕网站 | 91成人看片 | 久久草在线视频国产 | 中文在线字幕观看电影 | 久久久久久亚洲精品 | 伊人婷婷久久 | 国产成人在线网站 | 久久久久久久久久久国产精品 | 欧美日韩观看 | 波多野结衣视频一区 | 欧美日韩不卡在线 | 免费成人在线电影 | 日本二区三区在线 | 久久国语 | 美女免费网站 | 欧美做受高潮 | 国产成人一区二区三区在线观看 | 国产成人333kkk | 狠狠狠狠狠操 | 992tv成人免费看片 | 欧美9999| 麻豆久久精品 | 爱爱av网站 | www久久| 国产精品婷婷午夜在线观看 | 天天干人人干 | 99精品免费| 日韩不卡高清视频 | 天天综合网天天综合色 | 久久草草热国产精品直播 | 91在线一区二区 | 在线天堂亚洲 | 成人黄色小说视频 | 国产精品久久久一区二区三区网站 | 色天天综合网 | 日韩欧美在线观看一区二区 | 精品99久久久久久 | 成人av片免费看 | 最新国产精品久久精品 | 激情网第四色 | 九九九九九九精品任你躁 | 91新人在线观看 | 亚洲综合丁香 | 不卡视频在线看 | 91看片成人| 久久精品免费观看 | 97成人在线视频 | 日韩综合一区二区三区 | 日本婷婷色 | 91成人国产 | 欧美精品你懂的 | 99视频精品免费观看, | 久久看片网站 | 视频福利在线 | 亚洲另类在线视频 | 亚洲日本精品 | 欧美日韩一区二区三区不卡 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 国产精品视频久久久 | 欧美一级免费在线 | av片子在线观看 | 91久久在线观看 | 国产精品毛片网 | 五月婷婷在线综合 | 国产手机视频 | 色偷偷中文字幕 | 国产在线a免费观看 | 91看片在线免费观看 | 久久免费视频1 | 日韩中文字幕在线观看 | 黄色www| 亚洲精品视频二区 | 日韩精品一区二区三区第95 | 香蕉久草 | 亚洲人成人在线 | 中文字幕久久网 | 国产不卡片 | 国产一级在线免费观看 | 成年人在线看片 | 国产精品日韩久久久久 | 久久久综合九色合综国产精品 | 久久精品99久久久久久2456 | 黄色www在线观看 | 久久久精品小视频 | 国产福利专区 | 国产一二三四在线视频 | 欧洲不卡av| 欧美久久久久 | 日韩免费三区 | 国产精品孕妇 | 日日狠狠 | 五月激情五月激情 | 久久精品网 | 亚州精品成人 | 国产破处在线视频 | 婷婷精品国产欧美精品亚洲人人爽 | 国产福利精品视频 | 成人av资源网 | 96国产精品| 色爱区综合激月婷婷 | 久久国产亚洲 | 久久综合久久综合这里只有精品 | 国产午夜av | 久久激情五月婷婷 | 美女视频是黄的免费观看 | 天天操人人要 | 亚洲最新在线 | 国产精品久久久久久久久久久久午 | 亚洲欧美日韩精品一区二区 | 久久黄色网页 |