亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? form1.h

?? 一個內存管理的PC端的模擬器。是初學者對內存管理有個感性的認識
?? H
?? 第 1 頁 / 共 3 頁
字號:
#pragma once
#include "stdafx.h"

#define LINE_LEN	60
#define	MAX_RECT_HEIGHT		100
#define MIN_RECT_WIDTH		30
#define MIN_RECT_HEIGHT		30
#define MAX_RECT_WIDTH		100

using namespace System::Drawing;

namespace memadim {

	using namespace System;
	using namespace System::ComponentModel;
	using namespace System::Collections;
	using namespace System::Windows::Forms;
	using namespace System::Data;
	using namespace System::Drawing;

	/// <summary>
	/// Form1 摘要
	///
	/// 警告: 如果更改此類的名稱,則需要更改
	///          與此類所依賴的所有 .resx 文件關聯的托管資源編譯器工具的
	///          “資源文件名”屬性。否則,
	///          設計器將不能與此窗體的關聯
	///          本地化資源正確交互。
	/// </summary>
	public ref class Form1 : public System::Windows::Forms::Form
	{
	public:
		Form1(void)
		{
			InitializeComponent();

			_myGraphics = this->pictureBox1->CreateGraphics();
		}

	protected:
		/// <summary>
		/// 清理所有正在使用的資源。
		/// </summary>
		~Form1()
		{
			if (components)
			{
				delete components;
			}
		}
	private: System::Windows::Forms::PictureBox^  pictureBox1;
	private: System::Windows::Forms::Button^  Init_Memory;
	private: System::Windows::Forms::RadioButton^  radioButton1;
	private: System::Windows::Forms::RadioButton^  radioButton2;
	private: System::Windows::Forms::RadioButton^  radioButton3;
	private: System::Windows::Forms::GroupBox^  groupBox1;

	protected: 

	#pragma region 許暉冬自定的變量
	public:
		char	*G_TestMem;		
	
	private:
		int		G_FontLineSpace;

		int		G_TestMemLen;		
		char	**Test_sp;		//用于保存分配出去的測試指針
		int		Test_sp_num;	//已經分配的指數數目
		int		Test_Alloc_Mem;	//已經分配出去的內存大小
		int		*Test_Space;	//保存相應的分配出去的大小

		int		G_Width;
		int		G_Height;
		int		Org_X;
		int		Org_Y;

		array<Rectangle, 1>^	_BusyItem;		//忙鏈表中的表項數組
		array<Point, 2>^		_BusyItemPoint;	//忙鏈表中的表項的4個關鍵點next,prev, next, prev
		array<String^, 2>^		_BusyItemInfo;	//忙鏈表中的表項的關鍵信息	
		Pen^					_BusyPen;		//忙鏈表使用Pen
		SolidBrush^				_BusyBrush;		//忙鏈表使用Bursh
		System::Drawing::Font^	_BusyFont;		//忙鏈表使用Font
		int						_BusyItemSum;	//忙鏈表的總共塊數

		array<Rectangle, 1>^	_IdleItem;		//空鏈表中的表項數組
		array<Point, 2>^		_IdleItemPoint;	//空鏈表中的表項的4個關鍵點next,prev, next, prev
		array<String^, 2>^		_IdleItemInfo;	//空鏈表中的表項的關鍵信息	
		Pen^					_IdlePen;		//空鏈表使用Pen
		SolidBrush^				_IdleBrush;		//空鏈表使用Bursh
		int						_IdleItemSum;	//空鏈表的總共塊數

		array<Rectangle, 1>^	_ErrItem;		//鏈表中出錯的表項數組
		array<Point, 2>^		_ErrItemPoint;	//鏈表中出錯的表項的4個關鍵點next,prev, next, prev
		array<String^, 2>^		_ErrItemInfo;	//鏈表中出錯的表項的關鍵信息	
		Pen^					_ErrPen;		//鏈表出錯表項使用Pen
		SolidBrush^				_ErrBrush;		//鏈表出錯表項使用Bursh	
		int						_ErrCount;		//出錯的個數

		array<Rectangle, 1>^	_PhyItem;		//物理鏈表中的表項數組
		array<Point, 2>^		_PhyItemPoint;	//物理鏈表中的表項的4個關鍵點next,prev, next, prev
		array<String^, 2>^		_PhyItemInfo;	//物理鏈表中的表項的關鍵信息	
		Pen^					_PhyPen;		//物理鏈表中項使用Pen
		SolidBrush^				_PhyBrush;		//物理鏈表中項使用Bursh	
		int						_PhyCount;		//物理的個數

		Graphics^				_myGraphics;	//要使用的畫布

	private: System::Windows::Forms::Button^  button2;
	private: System::Windows::Forms::CheckBox^  checkBox1;
	private: System::Windows::Forms::Label^  label1;

	private: System::Windows::Forms::Button^  button4;
	private: System::Windows::Forms::TextBox^  textBox2;
	private: System::Windows::Forms::CheckBox^  checkBox2;
	private: System::Windows::Forms::CheckBox^  checkBox3;
	private: System::Windows::Forms::Button^  button5;
	private: System::Windows::Forms::CheckBox^  checkBox4;
	private: System::Windows::Forms::Button^  button3;
	private: System::Windows::Forms::TextBox^  textBox3;





	private: System::Windows::Forms::TextBox^  textBox1;
			 
	#pragma endregion


		/// <summary>
		/// 畫出Rect數組。
		/// _DestRectArray 要畫出的矩形數組的數目
		/// _DestRectKeyPoint 矩形所對應的關鍵點的坐標
		/// _DrawPen 要使用的畫筆
		/// _DrawBrush 填矩形框用的畫刷
		/// _RectNum 矩形的數目
		/// </summary>
private: System::Void Sub_DrawList(array<Rectangle, 1>^ _DestRectArray, array<Point, 2>^ _DestRectKeyPoint, Pen^ _DrawPen, SolidBrush^ _DrawBrush, array<String^, 2>^ _DrawInfo, System::Drawing::Font^ _DrawFont, int _RectNum)
			{
				int	i;
				
				_myGraphics->FillRectangles(_DrawBrush, _DestRectArray);
				for(i = 1; i <= _RectNum - 1; i++)
				{
					if(_DestRectKeyPoint[i - 1, 0].Y == _DestRectKeyPoint[i, 0].Y)
					{
						_myGraphics->DrawLine(_DrawPen, _DestRectKeyPoint[i - 1, 2], _DestRectKeyPoint[i, 0]);
						_myGraphics->DrawLine(_DrawPen, _DestRectKeyPoint[i, 1], _DestRectKeyPoint[i - 1, 3]);
					}	
					else
					{
						_myGraphics->DrawLine(_DrawPen, _DestRectKeyPoint[i - 1, 2].X, _DestRectKeyPoint[i - 1, 2].Y, G_Width, _DestRectKeyPoint[i - 1, 2].Y);
						_myGraphics->DrawLine(_DrawPen, G_Width, _DestRectKeyPoint[i - 1, 3].Y, _DestRectKeyPoint[i - 1, 3].X, _DestRectKeyPoint[i - 1, 3].Y);
					}
				}
				for(i = 0; i < _RectNum; i++)
				{
					_myGraphics->DrawString(_DrawInfo[i, 0], _DrawFont, _DrawBrush, _DestRectArray[i].X, _DestRectArray[i].Y + _DestRectArray[i].Height);
					_myGraphics->DrawString(_DrawInfo[i, 1], _DrawFont, _DrawBrush, _DestRectArray[i].X, _DestRectArray[i].Y + _DestRectArray[i].Height + 15);
					//_myGraphics->DrawString(_DrawInfo[i, 2], _DrawFont, _DrawBrush, _DestRectArray[i].X, _DestRectArray[i].Y + _DestRectArray[i].Height + 30);
					_myGraphics->DrawString(_DrawInfo[i, 7], _DrawFont, _DrawBrush, _DestRectArray[i].X, _DestRectArray[i].Y + _DestRectArray[i].Height + 30);
					_myGraphics->DrawString(_DrawInfo[i, 6], _DrawFont, _DrawBrush, _DestRectArray[i].X, _DestRectArray[i].Y + _DestRectArray[i].Height + 45);
					//_myGraphics->DrawString(_DrawInfo[i, 4], _DrawFont, _DrawBrush, _DestRectArray[i].X, _DestRectArray[i].Y + _DestRectArray[i].Height + 45);
					//_myGraphics->DrawString(_DrawInfo[i, 5], _DrawFont, _DrawBrush, _DestRectArray[i].X, _DestRectArray[i].Y + _DestRectArray[i].Height + 60);
				}
				
			}

		 ///<summary>
		 ///_DestRectArray	要計算的目標Rect
		 ///_DestRectKeyPoint	要計算的目標Point
		 ///Start_X		開始的X坐標
		 ///Start_Y		開始的Y坐標
		 ///Num			Rect的數目
		 ///</summary>
private:System::Void Sub_ComputerRectAndPoint(array<Rectangle, 1>^ _DestRectArray, array<Point, 2>^ _DestRectKeyPoint, int Start_X, int Start_Y, int Num)
			{
				 int	i;						  
				 int	j;
				 int	rect_width, rect_height;
				 int	x;

				 i = Num;
				 j = G_Width - LINE_LEN * (i - 1);	

				 if((j / i) > MAX_RECT_WIDTH)
				 {
					rect_width = MAX_RECT_WIDTH;
				 }
				 else if((j / i) < MIN_RECT_WIDTH)
				 {
					 rect_width = MIN_RECT_WIDTH;					 
				 }
				 else
				 {
					 rect_width = j / i;
				 }

				 rect_height = MIN_RECT_HEIGHT;

				 _DestRectArray[0].X = Org_X;
				 _DestRectArray[0].Y = Org_Y;
				 _DestRectArray[0].Width = rect_width;
				 _DestRectArray[0].Height = rect_height;

				 //可能要出現換行
				 if((rect_width * i) > (G_Width - LINE_LEN * (i - 1)))
				 {
					//要換行
					for(j = 1; j < i; j++)
					{
						if((_DestRectArray[j - 1].X + rect_width + LINE_LEN) > (G_Width - LINE_LEN))
						{
							_DestRectArray[j].X = Org_X;
							_DestRectArray[j].Y = _DestRectArray[j - 1].Y + _DestRectArray[j - 1].Height + G_FontLineSpace * 5 + 5;	//加上5的分格

						}
						else
						{
							_DestRectArray[j].X = _DestRectArray[j - 1].X + rect_width + LINE_LEN;
							_DestRectArray[j].Y = _DestRectArray[j - 1].Y;
						}
						_DestRectArray[j].Width = rect_width;
						_DestRectArray[j].Height = rect_height;
					}
					
				 }
				 else
				 {

					 //要把矩形框平均地分布在平面內
					 j = G_Width - i * rect_width;
					 if(i == 1)
						 x = j;
					 else
						x = j / (i - 1);
					 
					 for(j = 1; j < i; j++)
					 {
						 _DestRectArray[j].X = _DestRectArray[j - 1].X + rect_width + x;
						 _DestRectArray[j].Y = _DestRectArray[j - 1].Y;
						 _DestRectArray[j].Width = rect_width;
						 _DestRectArray[j].Height = rect_height;
					 }
				 }

				 for(j = 0; j < i; j++)
				 {
					 _DestRectKeyPoint[j,0].X = _DestRectArray[j].X;
					 _DestRectKeyPoint[j,0].Y = _DestRectArray[j].Y + 5;

					 _DestRectKeyPoint[j,1].X = _DestRectArray[j].X;
					 _DestRectKeyPoint[j,1].Y = _DestRectArray[j].Height + _DestRectArray[j].Y - 5;

					 _DestRectKeyPoint[j,2].X = _DestRectArray[j].X + _DestRectArray[j].Width;
					 _DestRectKeyPoint[j,2].Y = _DestRectArray[j].Y + 5;

					 _DestRectKeyPoint[j,3].X = _DestRectArray[j].X + _DestRectArray[j].Width;
					 _DestRectKeyPoint[j,3].Y = _DestRectArray[j].Height + _DestRectArray[j].Y - 5; 
				 }

			}





		
		///<summary>
		///畫出物理內存塊
		/// _DestRectArray 要畫出的矩形數組的數目
		/// _DestRectKeyPoint 矩形所對應的關鍵點的坐標
		/// _DrawBusyPen 用于畫忙的Pen
		/// _DrawBusyBrush 用于畫忙的Brush
		/// _DrawIdlePen 用于畫空的Pen
		/// _DrawIdleBrush 用于畫空的Brush
        /// _DrawInfo 要顯示的信息
        /// _DrawFont 用于顯示信息的Font
		/// _RectNum 矩形的數目
		///</summary>
private:virtual System::Void Sub_DrawPhyListItem(array<Rectangle, 1>^ _DestRectArray, array<Point, 2>^ _DestRectKeyPoint, Pen^ _DrawBusyPen, SolidBrush^ _DrawBusyBrush, Pen^ _DrawIdlePen, SolidBrush^ _DrawIdleBrush, array<String^, 2>^ _DrawInfo, System::Drawing::Font^ _DrawFont, int _RectNum)
		{
			int	i;
			UInt32	x1, AllSpace;
			array<Char>^	xu_str = gcnew array<Char>(256);
			String^	temp_str;

			AllSpace = 0;
			for(i = 0; i < _RectNum; i++)
			{
				 xu_str->Clear(xu_str, 0, xu_str->GetLength(0));
				 _DrawInfo[i, 3]->CopyTo(5, xu_str, 0, _DrawInfo[i, 3]->Length - 5);
				 temp_str = gcnew String(xu_str);					  
				 x1 = System::UInt32::Parse(temp_str, System::Globalization::NumberStyles::Integer);
				 AllSpace += x1;
				 xu_str->Clear(xu_str, 0, xu_str->GetLength(0));
				 _DrawInfo[i, 7]->CopyTo(5, xu_str, 0, _DrawInfo[i, 7]->Length - 5);
				 temp_str = gcnew String(xu_str);					  
				 x1 = System::UInt32::Parse(temp_str, System::Globalization::NumberStyles::AllowHexSpecifier);
				 if(x1 == 0xaa)
				 {
					 _myGraphics->FillRectangle(_DrawBusyBrush, _DestRectArray[i]);
					 _myGraphics->DrawString(_DrawInfo[i, 4], _DrawFont, _DrawBusyBrush, _DestRectArray[i].X, _DestRectArray[i].Y + _DestRectArray[i].Height);
					 _myGraphics->DrawString(_DrawInfo[i, 5], _DrawFont, _DrawBusyBrush, _DestRectArray[i].X, _DestRectArray[i].Y + _DestRectArray[i].Height + 15);
					 //_myGraphics->DrawString(_DrawInfo[i, 2], _DrawFont, _DrawBusyBrush, _DestRectArray[i].X, _DestRectArray[i].Y + _DestRectArray[i].Height + 30);
					 _myGraphics->DrawString(_DrawInfo[i, 2], _DrawFont, _DrawBusyBrush, _DestRectArray[i].X, _DestRectArray[i].Y + _DestRectArray[i].Height + 30);
					 _myGraphics->DrawString(_DrawInfo[i, 6], _DrawFont, _DrawBusyBrush, _DestRectArray[i].X, _DestRectArray[i].Y + _DestRectArray[i].Height + 45);
					 //_myGraphics->DrawString(_DrawInfo[i, 4], _DrawFont, _DrawBusyBrush, _DestRectArray[i].X, _DestRectArray[i].Y + _DestRectArray[i].Height + 45);
					 //_myGraphics->DrawString(_DrawInfo[i, 5], _DrawFont, _DrawBusyBrush, _DestRectArray[i].X, _DestRectArray[i].Y + _DestRectArray[i].Height + 60);
				 }
				 else
				 {
					 _myGraphics->FillRectangle(_DrawIdleBrush, _DestRectArray[i]);
					 _myGraphics->DrawString(_DrawInfo[i, 4], _DrawFont, _DrawIdleBrush, _DestRectArray[i].X, _DestRectArray[i].Y + _DestRectArray[i].Height);
					 _myGraphics->DrawString(_DrawInfo[i, 5], _DrawFont, _DrawIdleBrush, _DestRectArray[i].X, _DestRectArray[i].Y + _DestRectArray[i].Height + 15);
					 //_myGraphics->DrawString(_DrawInfo[i, 2], _DrawFont, _DrawIdleBrush, _DestRectArray[i].X, _DestRectArray[i].Y + _DestRectArray[i].Height + 30);
					 _myGraphics->DrawString(_DrawInfo[i, 3], _DrawFont, _DrawIdleBrush, _DestRectArray[i].X, _DestRectArray[i].Y + _DestRectArray[i].Height + 30);
					 _myGraphics->DrawString(_DrawInfo[i, 6], _DrawFont, _DrawIdleBrush, _DestRectArray[i].X, _DestRectArray[i].Y + _DestRectArray[i].Height + 45);
					 //_myGraphics->DrawString(_DrawInfo[i, 4], _DrawFont, _DrawBusyBrush, _DestRectArray[i].X, _DestRectArray[i].Y + _DestRectArray[i].Height + 45);
					 //_myGraphics->DrawString(_DrawInfo[i, 5], _DrawFont, _DrawBusyBrush, _DestRectArray[i].X, _DestRectArray[i].Y + _DestRectArray[i].Height + 60);
				 }
				 if((i != 0) )//&& (i != (_RectNum - 1)))
				 {
					if(_DestRectKeyPoint[i - 1, 0].Y == _DestRectKeyPoint[i, 0].Y)
				    {
						if(x1 == 0xaa)
						{
							_myGraphics->DrawLine(_DrawBusyPen, _DestRectKeyPoint[i - 1, 2], _DestRectKeyPoint[i, 0]);
							_myGraphics->DrawLine(_DrawBusyPen, _DestRectKeyPoint[i, 1], _DestRectKeyPoint[i - 1, 3]);
						}
						else
						{
							_myGraphics->DrawLine(_DrawIdlePen, _DestRectKeyPoint[i - 1, 2], _DestRectKeyPoint[i, 0]);
							_myGraphics->DrawLine(_DrawIdlePen, _DestRectKeyPoint[i, 1], _DestRectKeyPoint[i - 1, 3]);
						}
					}	
					else
					{
						if(x1 == 0xaa)
						{
				 			_myGraphics->DrawLine(_DrawBusyPen, _DestRectKeyPoint[i - 1, 2].X, _DestRectKeyPoint[i - 1, 2].Y, G_Width, _DestRectKeyPoint[i - 1, 2].Y);
							_myGraphics->DrawLine(_DrawBusyPen, G_Width, _DestRectKeyPoint[i - 1, 3].Y, _DestRectKeyPoint[i - 1, 3].X, _DestRectKeyPoint[i - 1, 3].Y);
						}
						else
						{
							_myGraphics->DrawLine(_DrawIdlePen, _DestRectKeyPoint[i - 1, 2].X, _DestRectKeyPoint[i - 1, 2].Y, G_Width, _DestRectKeyPoint[i - 1, 2].Y);
							_myGraphics->DrawLine(_DrawIdlePen, G_Width, _DestRectKeyPoint[i - 1, 3].Y, _DestRectKeyPoint[i - 1, 3].X, _DestRectKeyPoint[i - 1, 3].Y);
						}
					}
				}
			}

			_myGraphics->DrawString("總共內存大小:" + AllSpace.ToString(), _DrawFont, _DrawBusyBrush, 50, _DestRectArray[_RectNum - 1].Y + _DestRectArray[_RectNum - 1].Height + 100);
		}
	
		///<summary>
		///_AnalyseInfo 要分析的鏈表的相關信息
		///_Num	表項的個數
		///_AnalyseErr 出錯的矩形框
		///_AnalyseErrInfo 出錯的表項的信息
		///_AnalyseItemPoint 出錯表項的關鍵點
		///</summary>
private:System::UInt32 Fun_AnalyseList(array<String^, 2>^ _AnalyseInfo, int Num, array<Rectangle, 1>^ _AnalyseErr, array<String^, 2>^ _AnalyseErrInfo, array<Point, 2>^ _AnalyseItemPoint)
		{
			 int	count;
			 unsigned int	x1, x2, j;			 
			 int	*errarray;
			  
			 count = 0;
			 array<Char>^	xu_str = gcnew array<Char>(256);
			 String^	temp_str;
			 errarray = new int [Num];


			 for(j = 1; j < Num; j++)
			 {					  
				 _AnalyseInfo[j - 1, 0]->CopyTo(5, xu_str, 0, _AnalyseInfo[j - 1, 0]->Length - 5);
				 temp_str = gcnew String(xu_str);					  
				 x1 = System::Int32::Parse(temp_str, System::Globalization::NumberStyles::AllowHexSpecifier);

				 _AnalyseInfo[j, 6]->CopyTo(5, xu_str, 0, _AnalyseInfo[j, 6]->Length - 5);
				 temp_str = gcnew String(xu_str);					  
				 x2 = System::Int32::Parse(temp_str, System::Globalization::NumberStyles::AllowHexSpecifier);
				 if(x1 != x2)
				 {					 
					 errarray[j] = 1;
					 count += 1;
				 }
				 else
				 {
					 _AnalyseInfo[j, 1]->CopyTo(5, xu_str, 0, _AnalyseInfo[j, 1]->Length - 5);
					 temp_str = gcnew String(xu_str);					  
					 x1 = System::Int32::Parse(temp_str, System::Globalization::NumberStyles::AllowHexSpecifier);

					 _AnalyseInfo[j - 1, 6]->CopyTo(5, xu_str, 0, _AnalyseInfo[j - 1, 6]->Length - 5);
					 temp_str = gcnew String(xu_str);					  
					 x2 = System::Int32::Parse(temp_str, System::Globalization::NumberStyles::AllowHexSpecifier);
					 if(x1 != x2)
					 {
						 errarray[j] = 1;
						 count += 1;
					 }
					 else
					 {
						 errarray[j] = 0;
					 }
				 }				 
			 }

			 if(count == 0)
			 {	
				 return count;
			 }

			 _AnalyseErr = gcnew array<Rectangle, 1>(count);
			 _AnalyseErrInfo = gcnew array<String^, 2>(count, 7);
			 _AnalyseItemPoint = gcnew array<Point, 2>(count, 4);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区在线观看视频| 丁香激情综合五月| 国产乱对白刺激视频不卡| 97se狠狠狠综合亚洲狠狠| 欧美www视频| 一区二区三区在线观看网站| 国产乱妇无码大片在线观看| 欧美亚洲国产一区在线观看网站| 国产亚洲1区2区3区| 午夜av电影一区| 色久综合一二码| 国产欧美一区二区精品忘忧草| 视频一区二区中文字幕| av在线不卡网| 日本一区二区成人| 久久成人18免费观看| 欧美日韩国产免费| 亚洲精品国产一区二区三区四区在线| 国产福利一区二区三区视频| 国产精品日日摸夜夜摸av| 日本va欧美va精品发布| 欧美午夜电影网| 亚洲欧美在线视频观看| 大美女一区二区三区| 欧美精品一区二区三区视频| 日本怡春院一区二区| 欧美日韩国产影片| 午夜久久电影网| 91久久国产最好的精华液| 亚洲男女毛片无遮挡| jlzzjlzz欧美大全| 国产精品久线观看视频| 国产69精品久久99不卡| 久久久久99精品一区| 国产精品99久久久久久久女警| 精品国产乱子伦一区| 黄网站免费久久| 久久亚洲一区二区三区明星换脸| 久久精品国产99国产精品| 精品美女被调教视频大全网站| 日韩国产在线一| 日韩一区二区三区免费观看| 色婷婷av一区二区三区软件| 国产精品久久久久久妇女6080| 成人动漫在线一区| 亚洲丝袜自拍清纯另类| 色婷婷国产精品综合在线观看| 一区二区三区视频在线看| 欧美综合一区二区| 免费观看久久久4p| 精品理论电影在线| 成av人片一区二区| 亚洲精品乱码久久久久久| 欧美日韩精品欧美日韩精品一 | 日韩亚洲欧美在线观看| 亚洲va欧美va人人爽午夜| 欧美精品亚洲一区二区在线播放| 秋霞国产午夜精品免费视频| 2023国产精华国产精品| 成人中文字幕电影| 亚洲曰韩产成在线| 日韩久久久久久| 成人av第一页| 丝袜脚交一区二区| 久久婷婷国产综合精品青草| 99精品久久99久久久久| 日韩国产欧美视频| 中文字幕巨乱亚洲| 91.xcao| 国产黄色91视频| 亚洲国产视频直播| 久久精品在这里| 欧美日韩精品一区二区在线播放 | 毛片av一区二区| 国产精品久久久久9999吃药| 色狠狠桃花综合| 黑人精品欧美一区二区蜜桃| 成人欧美一区二区三区| 亚洲va天堂va国产va久| 久久久久久99精品| 欧美日韩亚洲另类| 成人一级视频在线观看| 天堂成人国产精品一区| 国产精品国产自产拍在线| 日韩视频在线你懂得| 97久久精品人人澡人人爽| 久久精品国产77777蜜臀| 中文字幕一区日韩精品欧美| 日韩欧美中文字幕一区| 色八戒一区二区三区| 国产成人精品亚洲日本在线桃色| 亚洲一区二区综合| 日本一区二区三区免费乱视频| 欧美日韩中字一区| 97国产精品videossex| 国产另类ts人妖一区二区| 天使萌一区二区三区免费观看| 国产精品久久毛片av大全日韩| 91精品欧美福利在线观看| 一道本成人在线| 成人午夜电影小说| 国产精品77777竹菊影视小说| 午夜久久久久久久久| 一区二区三区欧美| 国产一区二区看久久| 日韩精品高清不卡| 亚洲成年人影院| 亚洲精品视频在线看| 国产精品国产三级国产aⅴ入口 | 欧美高清在线精品一区| 777欧美精品| 欧美日韩精品一区二区三区蜜桃 | 制服视频三区第一页精品| 色中色一区二区| 色婷婷精品大在线视频| 色综合天天综合网国产成人综合天| 成人一区二区三区视频| 国产成人av电影| 成人高清伦理免费影院在线观看| 国产盗摄一区二区三区| 国产**成人网毛片九色| 高清国产一区二区三区| 高清成人在线观看| 91丝袜国产在线播放| 色哟哟国产精品免费观看| 日本韩国精品一区二区在线观看| 在线亚洲免费视频| 欧美日韩一卡二卡三卡| 欧美精品视频www在线观看| 91精品婷婷国产综合久久竹菊| 欧美一级免费大片| 精品国产乱码久久久久久久 | 日韩一级免费一区| 欧美岛国在线观看| 日本一区二区三区四区在线视频| 国产欧美一区二区三区在线老狼| 国产精品伦理一区二区| 亚洲乱码国产乱码精品精的特点 | 亚洲国产精品久久一线不卡| 一个色妞综合视频在线观看| 亚洲国产精品久久一线不卡| 青青青伊人色综合久久| 国产一区二区免费在线| a美女胸又www黄视频久久| 国产精品天天看| 一区二区成人在线视频| 男女激情视频一区| 国产98色在线|日韩| 91国内精品野花午夜精品| 欧美福利视频导航| 国产嫩草影院久久久久| 亚洲人123区| 天天色综合成人网| 高清av一区二区| 欧美日韩一区小说| 国产亚洲短视频| 亚洲宅男天堂在线观看无病毒| 青娱乐精品在线视频| 成人美女视频在线看| 91麻豆精品国产91久久久资源速度| 26uuu亚洲| 亚洲综合免费观看高清完整版| 免费久久99精品国产| 91麻豆精东视频| 精品国产成人系列| 亚洲亚洲人成综合网络| 国产成人精品网址| 91麻豆精品国产91久久久使用方法 | 国产东北露脸精品视频| 欧美亚洲综合一区| 欧美国产丝袜视频| 美女www一区二区| 色偷偷久久人人79超碰人人澡| www国产亚洲精品久久麻豆| 五月天婷婷综合| 91亚洲精品一区二区乱码| 久久久亚洲精品一区二区三区| 亚洲一区二区四区蜜桃| jiyouzz国产精品久久| 亚洲精品一区二区三区蜜桃下载| 午夜成人在线视频| 在线一区二区视频| 中文字幕一区二区三区色视频| 国产在线国偷精品产拍免费yy| 6080午夜不卡| 亚洲高清免费观看 | 久久电影网电视剧免费观看| 欧洲精品一区二区三区在线观看| 国产精品私人影院| 国产成人超碰人人澡人人澡| 欧美白人最猛性xxxxx69交| 丝袜美腿一区二区三区| 色国产综合视频| 夜夜亚洲天天久久| 色噜噜狠狠色综合欧洲selulu| 亚洲天堂免费看| 97se亚洲国产综合自在线| 中文字幕亚洲一区二区av在线| 成人午夜大片免费观看| 国产欧美一区二区精品性|