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

📄 clibench.cpp

📁 一个硬件测试工具的源代码
💻 CPP
📖 第 1 页 / 共 4 页
字号:
			sprintf(buffer[z],"Controller      :                                       %-35s",descDlg.drives[1][j][2]);++z;
			sprintf(buffer[z],"Driver          :                                       %-35s",descDlg.drives[1][j][3]);++z;
			++z;
			++j;
		}

	}
	RedrawWindow();
	InvalidateRect(NULL, FALSE);
	UpdateWindow();	
}	

void CMainWindow::OnHelp()
{
	STARTUPINFO si;
	memset(&si,0,sizeof(STARTUPINFO));
	si.cb=sizeof(STARTUPINFO);
	PROCESS_INFORMATION pi;
	BOOL fCreated=CreateProcess(NULL,
								TEXT("Winhlp32 .\\clibench.hlp"),
								NULL,
								NULL,
								FALSE,
								CREATE_NEW_CONSOLE,
								NULL,
								NULL,
								&si,
								&pi);
	if (!fCreated)
	{
			AfxMessageBox("Could not find help file!",MB_OK|MB_ICONHAND);
	}
}

void CMainWindow::OnQueenPerf()
{
	CMenu *menu;
	menu=(GetMenu()->GetSubMenu(1));
	queenTest=!queenTest;
	if (queenTest) menu->CheckMenuItem(ID_QUEENPERF,MF_CHECKED);
	if (!queenTest) menu->CheckMenuItem(ID_QUEENPERF,MF_UNCHECKED);	
} 

void CMainWindow::OnDhryPerf()
{
	CMenu *menu;
	menu=(GetMenu()->GetSubMenu(1));
	dhryTest=!dhryTest;
	if (dhryTest) menu->CheckMenuItem(ID_DHRYPERF,MF_CHECKED);
	if (!dhryTest) menu->CheckMenuItem(ID_DHRYPERF,MF_UNCHECKED);	
} 

void CMainWindow::SelectAllCPUTests()
{
	CMenu *menu;
	menu=(GetMenu()->GetSubMenu(1));
	menu->CheckMenuItem(ID_WHETPERF,MF_CHECKED);	
	menu->CheckMenuItem(ID_QUEENPERF,MF_CHECKED);
	menu->CheckMenuItem(ID_DHRYPERF,MF_CHECKED);
	menu->CheckMenuItem(ID_FLOATINGTEST,MF_CHECKED);
	menu->CheckMenuItem(ID_NUMPERF,MF_CHECKED);
	menu->CheckMenuItem(ID_MATRIX,MF_CHECKED);
	menu->CheckMenuItem(ID_MEMPERF,MF_CHECKED);
	whetTest=true;
	queenTest=true;
	dhryTest=true;
	floatTest=true;
	numTest=true;
	matrTest=true;
	memTest=true;
}

void CMainWindow::DeselectAllCPUTests()
{
	CMenu *menu;
	menu=(GetMenu()->GetSubMenu(1));
	menu->CheckMenuItem(ID_WHETPERF,MF_UNCHECKED);	
	menu->CheckMenuItem(ID_QUEENPERF,MF_UNCHECKED);
	menu->CheckMenuItem(ID_DHRYPERF,MF_UNCHECKED);
	menu->CheckMenuItem(ID_WHETPERF,MF_UNCHECKED);
	menu->CheckMenuItem(ID_FLOATINGTEST,MF_UNCHECKED);
	menu->CheckMenuItem(ID_NUMPERF,MF_UNCHECKED);
	menu->CheckMenuItem(ID_MATRIX,MF_UNCHECKED);
	menu->CheckMenuItem(ID_MEMPERF,MF_UNCHECKED);
	whetTest=false;
	queenTest=false;
	dhryTest=false;
	floatTest=false;
	numTest=false;
	matrTest=false;
	memTest=false;
}

void CMainWindow::OnWhetPerf()
{
	CMenu *menu;
	menu=(GetMenu()->GetSubMenu(1));
	whetTest=!whetTest;
	if (whetTest) menu->CheckMenuItem(ID_WHETPERF,MF_CHECKED);
	if (!whetTest) menu->CheckMenuItem(ID_WHETPERF,MF_UNCHECKED);	
} 

void CMainWindow::OnFloatingPerf()
{
	CMenu *menu;
	menu=(GetMenu()->GetSubMenu(1));
	floatTest=!floatTest;
	if (floatTest) menu->CheckMenuItem(ID_FLOATINGTEST,MF_CHECKED);
	if (!floatTest) menu->CheckMenuItem(ID_FLOATINGTEST,MF_UNCHECKED);	
} 

void CMainWindow::OnNumPerf()
{
	CMenu *menu;
	menu=(GetMenu()->GetSubMenu(1));
	numTest=!numTest;
	if (numTest) menu->CheckMenuItem(ID_NUMPERF,MF_CHECKED);
	if (!numTest) menu->CheckMenuItem(ID_NUMPERF,MF_UNCHECKED);	
} 

void CMainWindow::OnMatrix()
{
	CMenu *menu;
	menu=(GetMenu()->GetSubMenu(1));
	matrTest=!matrTest;
	if (matrTest) menu->CheckMenuItem(ID_MATRIX,MF_CHECKED);
	if (!matrTest) menu->CheckMenuItem(ID_MATRIX,MF_UNCHECKED);	
} 


void CMainWindow::OnMemPerf()
{
	CMenu *menu;
	menu=(GetMenu()->GetSubMenu(1));
	memTest=!memTest;
	if (memTest) menu->CheckMenuItem(ID_MEMPERF,MF_CHECKED);
	if (!memTest) menu->CheckMenuItem(ID_MEMPERF,MF_UNCHECKED);	
}


void CMainWindow::OnCPerf()
{
	
	CMenu *menu=(GetMenu()->GetSubMenu(1))->GetSubMenu(7);
	diskTest[2]=!diskTest[2];
	if (diskTest[2]) menu->CheckMenuItem(ID_DISKC,MF_CHECKED);
	if (!diskTest[2]) menu->CheckMenuItem(ID_DISKC,MF_UNCHECKED);	
} 

void CMainWindow::OnDPerf()
{
	
	CMenu *menu=(GetMenu()->GetSubMenu(1))->GetSubMenu(7);
	diskTest[3]=!diskTest[3];
	if (diskTest[3]) menu->CheckMenuItem(ID_DISKD,MF_CHECKED);
	if (!diskTest[3]) menu->CheckMenuItem(ID_DISKD,MF_UNCHECKED);	
} 
void CMainWindow::OnEPerf()
{
	
	CMenu *menu=(GetMenu()->GetSubMenu(1))->GetSubMenu(7);
	diskTest[4]=!diskTest[4];
	if (diskTest[4]) menu->CheckMenuItem(ID_DISKE,MF_CHECKED);
	if (!diskTest[4]) menu->CheckMenuItem(ID_DISKE,MF_UNCHECKED);	
} 
void CMainWindow::OnFPerf()
{
	
	CMenu *menu=(GetMenu()->GetSubMenu(1))->GetSubMenu(7);
	diskTest[5]=!diskTest[5];
	if (diskTest[5]) menu->CheckMenuItem(ID_DISKF,MF_CHECKED);
	if (!diskTest[5]) menu->CheckMenuItem(ID_DISKF,MF_UNCHECKED);	
} 

void CMainWindow::OnGPerf()
{
	
	CMenu *menu=(GetMenu()->GetSubMenu(1))->GetSubMenu(7);
	diskTest[6]=!diskTest[6];
	if (diskTest[6]) menu->CheckMenuItem(ID_DISKG,MF_CHECKED);
	if (!diskTest[6]) menu->CheckMenuItem(ID_DISKG,MF_UNCHECKED);	
} 

void CMainWindow::OnHPerf()
{
	
	CMenu *menu=(GetMenu()->GetSubMenu(1))->GetSubMenu(7);
	diskTest[7]=!diskTest[7];
	if (diskTest[7]) menu->CheckMenuItem(ID_DISKH,MF_CHECKED);
	if (!diskTest[7]) menu->CheckMenuItem(ID_DISKH,MF_UNCHECKED);	
} 
void CMainWindow::OnIPerf()
{
	
	CMenu *menu=(GetMenu()->GetSubMenu(1))->GetSubMenu(7);
	diskTest[8]=!diskTest[8];
	if (diskTest[8]) menu->CheckMenuItem(ID_DISKI,MF_CHECKED);
	if (!diskTest[8]) menu->CheckMenuItem(ID_DISKI,MF_UNCHECKED);	
} 
void CMainWindow::OnJPerf()
{
	
	CMenu *menu=(GetMenu()->GetSubMenu(1))->GetSubMenu(7);
	diskTest[9]=!diskTest[5];
	if (diskTest[9]) menu->CheckMenuItem(ID_DISKJ,MF_CHECKED);
	if (!diskTest[9]) menu->CheckMenuItem(ID_DISKJ,MF_UNCHECKED);	
} 
void CMainWindow::OnKPerf()
{
	
	CMenu *menu=(GetMenu()->GetSubMenu(1))->GetSubMenu(7);
	diskTest[10]=!diskTest[10];
	if (diskTest[10]) menu->CheckMenuItem(ID_DISKK,MF_CHECKED);
	if (!diskTest[10]) menu->CheckMenuItem(ID_DISKK,MF_UNCHECKED);	
} 

void CMainWindow::OnLPerf()
{
	
	CMenu *menu=(GetMenu()->GetSubMenu(1))->GetSubMenu(7);
	diskTest[11]=!diskTest[11];
	if (diskTest[11]) menu->CheckMenuItem(ID_DISKL,MF_CHECKED);
	if (!diskTest[11]) menu->CheckMenuItem(ID_DISKL,MF_UNCHECKED);	
} 
void CMainWindow::OnMPerf()
{
	
	CMenu *menu=(GetMenu()->GetSubMenu(1))->GetSubMenu(7);
	diskTest[12]=!diskTest[12];
	if (diskTest[12]) menu->CheckMenuItem(ID_DISKM,MF_CHECKED);
	if (!diskTest[12]) menu->CheckMenuItem(ID_DISKM,MF_UNCHECKED);	
} 
void CMainWindow::OnNPerf()
{
	
	CMenu *menu=(GetMenu()->GetSubMenu(1))->GetSubMenu(7);
	diskTest[13]=!diskTest[13];
	if (diskTest[13]) menu->CheckMenuItem(ID_DISKN,MF_CHECKED);
	if (!diskTest[13]) menu->CheckMenuItem(ID_DISKN,MF_UNCHECKED);	
} 
void CMainWindow::OnOPerf()
{
	
	CMenu *menu=(GetMenu()->GetSubMenu(1))->GetSubMenu(7);
	diskTest[14]=!diskTest[14];
	if (diskTest[14]) menu->CheckMenuItem(ID_DISKO,MF_CHECKED);
	if (!diskTest[14]) menu->CheckMenuItem(ID_DISKO,MF_UNCHECKED);	
} 

void CMainWindow::OnPPerf()
{
	
	CMenu *menu=(GetMenu()->GetSubMenu(1))->GetSubMenu(7);
	diskTest[15]=!diskTest[15];
	if (diskTest[15]) menu->CheckMenuItem(ID_DISKP,MF_CHECKED);
	if (!diskTest[15]) menu->CheckMenuItem(ID_DISKP,MF_UNCHECKED);	
} 
void CMainWindow::OnQPerf()
{
	
	CMenu *menu=(GetMenu()->GetSubMenu(1))->GetSubMenu(7);
	diskTest[16]=!diskTest[16];
	if (diskTest[16]) menu->CheckMenuItem(ID_DISKQ,MF_CHECKED);
	if (!diskTest[16]) menu->CheckMenuItem(ID_DISKQ,MF_UNCHECKED);	
} 
void CMainWindow::OnRPerf()
{
	
	CMenu *menu=(GetMenu()->GetSubMenu(1))->GetSubMenu(7);
	diskTest[17]=!diskTest[17];
	if (diskTest[17]) menu->CheckMenuItem(ID_DISKR,MF_CHECKED);
	if (!diskTest[17]) menu->CheckMenuItem(ID_DISKR,MF_UNCHECKED);	
}
void CMainWindow::OnSPerf()
{
	
	CMenu *menu=(GetMenu()->GetSubMenu(1))->GetSubMenu(7);
	diskTest[18]=!diskTest[18];
	if (diskTest[18]) menu->CheckMenuItem(ID_DISKS,MF_CHECKED);
	if (!diskTest[18]) menu->CheckMenuItem(ID_DISKS,MF_UNCHECKED);	
} 

void CMainWindow::OnTPerf()
{
	
	CMenu *menu=(GetMenu()->GetSubMenu(1))->GetSubMenu(7);
	diskTest[19]=!diskTest[19];
	if (diskTest[19]) menu->CheckMenuItem(ID_DISKT,MF_CHECKED);
	if (!diskTest[19]) menu->CheckMenuItem(ID_DISKT,MF_UNCHECKED);	
} 
void CMainWindow::OnUPerf()
{
	
	CMenu *menu=(GetMenu()->GetSubMenu(1))->GetSubMenu(7);
	diskTest[20]=!diskTest[20];
	if (diskTest[20]) menu->CheckMenuItem(ID_DISKU,MF_CHECKED);
	if (!diskTest[20]) menu->CheckMenuItem(ID_DISKU,MF_UNCHECKED);	
} 
void CMainWindow::OnVPerf()
{
	
	CMenu *menu=(GetMenu()->GetSubMenu(1))->GetSubMenu(7);
	diskTest[21]=!diskTest[21];
	if (diskTest[21]) menu->CheckMenuItem(ID_DISKV,MF_CHECKED);
	if (!diskTest[21]) menu->CheckMenuItem(ID_DISKV,MF_UNCHECKED);	
}  
void CMainWindow::OnWPerf()
{
	
	CMenu *menu=(GetMenu()->GetSubMenu(1))->GetSubMenu(7);
	diskTest[22]=!diskTest[22];
	if (diskTest[22]) menu->CheckMenuItem(ID_DISKW,MF_CHECKED);
	if (!diskTest[22]) menu->CheckMenuItem(ID_DISKW,MF_UNCHECKED);	
} 

void CMainWindow::OnXPerf()
{
	
	CMenu *menu=(GetMenu()->GetSubMenu(1))->GetSubMenu(7);
	diskTest[23]=!diskTest[23];
	if (diskTest[23]) menu->CheckMenuItem(ID_DISKX,MF_CHECKED);
	if (!diskTest[23]) menu->CheckMenuItem(ID_DISKX,MF_UNCHECKED);	
} 
void CMainWindow::OnYPerf()
{
	
	CMenu *menu=(GetMenu()->GetSubMenu(1))->GetSubMenu(7);
	diskTest[24]=!diskTest[24];
	if (diskTest[24]) menu->CheckMenuItem(ID_DISKY,MF_CHECKED);
	if (!diskTest[24]) menu->CheckMenuItem(ID_DISKY,MF_UNCHECKED);	
} 
void CMainWindow::OnZPerf()
{  
	
	CMenu *menu=(GetMenu()->GetSubMenu(1))->GetSubMenu(7);
	diskTest[25]=!diskTest[25];
	if (diskTest[25]) menu->CheckMenuItem(ID_DISKZ,MF_CHECKED);
	if (!diskTest[25]) menu->CheckMenuItem(ID_DISKZ,MF_UNCHECKED);	
} 

void CMainWindow::OnLongTests()
{  
	
	CMenu *menu=GetMenu()->GetSubMenu(2);
	if (langeTests==1) {langeTests=2;} else {langeTests=1;} 
	if (langeTests==2) menu->CheckMenuItem(ID_LONGTESTS,MF_CHECKED);
	if (langeTests==1) menu->CheckMenuItem(ID_LONGTESTS,MF_UNCHECKED);	
} 

void CMainWindow::OnDesc()
{	
	
	CDescDlg descDlg(this);

	descDlg.DoModal();

    //sprintf(descDlg.descs[0][0],"Versuch");
	/*sprintf(descs[0][1],descDlg.m_model);
	sprintf(descs[0][2],descDlg.m_board);
	sprintf(descs[0][3],descDlg.m_cpu);
	sprintf(descs[0][4],descDlg.m_internalclock);
	sprintf(descs[0][5],descDlg.m_externalclock);
	sprintf(descs[0][6],descDlg.m_cachesize);
	sprintf(descs[0][7],descDlg.m_cachetype);
	sprintf(descs[0][8],descDlg.m_ramsize);
	sprintf(descs[0][9],descDlg.m_ramtype);
	sprintf(descs[0][10],descDlg.m_ramspeed);*/
	//sprintf(drives[0][0][0][0],descDlg.m_driveletter);
	//sprintf(drives[0][0][1],descDlg.m_harddisk);
	//sprintf(drives[0][0][2],descDlg.m_controller);
	//sprintf(drives[0][0][3],descDlg.m_driver);
	//sprintf(descs[0][11],descDlg.m_os);
	/*marks[0][0][0][0]='d';
	sprintf(marks[0][0][1],descDlg.descs[0][0]);
	updateBuffer();
	InvalidateRect(NULL, FALSE);
	UpdateWindow();*/
}


CQueenApp queen[maxthreads];
CBenchApp bench[maxthreads];
CWhetApp whet[maxthreads];
CBench2App bench2[maxthreads];
CMatrixApp matr[maxthreads];
CDhryApp dhry[maxthreads];

long WINAPI DoDhry(long nu)
{	
	threadResult[nu]=dhry[nu].main(4000000*langeTests);
	threadRun[nu]=1;
	return (NO_ERROR);
}

long WINAPI DoWhet(long nu)
{	
	threadResult[nu]=whet[nu].main(20000*langeTests);
	threadRun[nu]=1;
	return (NO_ERROR);
}

long WINAPI DoQueenTest(long nu)
{	
	threadResult[nu]=queen[nu].DoQueen(10000*langeTests);
	threadRun[nu]=1;
	return (NO_ERROR);
}

long WINAPI DoMatr(long nu)
{	
	threadResult[nu]=matr[nu].Do(4*langeTests);
	threadRun[nu]=1;
	return (NO_ERROR);
}

long WINAPI DoNumber(long nu)
{	
	threadResult[nu]=bench2[nu].NumberCrunching(250000*langeTests);
	threadRun[nu]=1;
	return (NO_ERROR);
}

long WINAPI DoFloat(long nu)
{	
	threadResult[nu]=bench2[nu].Floating(150000*langeTests);
	threadRun[nu]=1;
	return (NO_ERROR);
}

long WINAPI DoMemory(long nu)
{	
	threadResult[nu]=bench[nu].DoMem(10*langeTests, noftPot);
    threadRun[nu]=1;
	return (NO_ERROR);
}

void CMainWindow::RunAllTests()
{	
	
	CDescDlg descDlg(this);
	descDlg.DoModal();
	nOfThreads=_T(atoi(descDlg.descs[0][12]));
if (descDlg.okay)
{
	int i=0;
	while (i<la)
	{	
		buffer[i][0]=char(0);
		marks[0][i][0][0]=char(0);
	++i;
	}
	RedrawWindow();
	zaehler=0;


	// initialize timer
	struct _timeb   atime,
					etime;  
	
	_ftime (&atime);
	_ftime (&etime);



	while (((etime.time*1000+etime.millitm)-(atime.time*1000+atime.millitm))<5000)

⌨️ 快捷键说明

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