⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tab3.h

📁 操作系统实验演示代码(三个实验
💻 H
字号:
#if !defined(AFX_TAB3_H__2C7DF905_795A_429D_8555_FF45C2B14FB3__INCLUDED_)
#define AFX_TAB3_H__2C7DF905_795A_429D_8555_FF45C2B14FB3__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Tab3.h : header file
//

/////////////////////////////////////////////////////////////////////////////
// CTab3 dialog
#include "TabSheet.h"
#include "MemPage1.h"
#include "MemPage2.h"
#include "Math.h"
#include "MatrixStatic.h"
#include "BalloonTip.h"
struct SERIAL
{
    int PageID;
    bool bFIFO;
	bool bOPT;
	bool bLRU;
	int NextSame;
};
struct MEMITEM
{
	int PageSize;
	float FIFORate;
	float OPTRate;
	float LRURate;
	HTREEITEM hti;
	SERIAL Serial[20];  //20个随机生成的页面号测试序列
};



struct PAGEITEM
{
	int vPageSize;
	float AveFIFORate;
	float AveOPTRate;
	float AveLRURate;
    HTREEITEM hti;
	CArray<MEMITEM,MEMITEM> VMemItem;
};





struct MEMSTACK
{
	int PageID;
	int BlockID;
	int UseTime;  //表示该页何时被使用
	int NextSame;
};

class CTab3 : public CDialog
{
// Construction
public:
	void ShowGraph2(int nPage);
	void ShowGraph1();
	void InitMem();

	CTab3(CWnd* pParent = NULL);   // standard constructor
    CArray<MEMSTACK,MEMSTACK>FIFOStack;
	CArray<MEMSTACK,MEMSTACK>OPTStack;
	CArray<MEMSTACK,MEMSTACK>LRUStack;
	//CArray<MEMPAGE,MEMPAGE>MemBlock;
	//CArray<MAR,MAR>MemPage;
	PAGEITEM VPageItem[4];
	HTREEITEM hti[4];
	CMemPage1 TabPage1;
    CMemPage2 TabPage2;
// Dialog Data
	//{{AFX_DATA(CTab3)
	enum { IDD = IDD_TAB3 };
	CMatrixStatic	m_lcd;
	CTabSheet	m_TabView;
	CTreeCtrl	m_wndTree;
	CListCtrl	m_List;
	//}}AFX_DATA
    
// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CTab3)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
    CBalloonTip* m_pBalloonTip;
	// Generated message map functions
	//{{AFX_MSG(CTab3)
	virtual BOOL OnInitDialog();
	afx_msg void OnBtnBegin();
	afx_msg void OnPaint();
	afx_msg void OnDblclkTree(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
	afx_msg void OnMnuRedo2();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
private:
	void ShowBallTip(CPoint pt, CString msg);
	void InitMemStack();
	void ShowMemList(int nPage,int nMem);
	void AddPageItem(CString PageID,CString FIFO,CString OPT,CString	LRU);
	float rnd();
	UINT PageCount;
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_TAB3_H__2C7DF905_795A_429D_8555_FF45C2B14FB3__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -