欢迎来到天天文库
浏览记录
ID:26027596
大小:479.06 KB
页数:54页
时间:2018-11-24
《编程之美随书源代码-中文注释》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、54第1章游戏之乐——游戏中碰到的题目代码清单1-11.intmain(){for(;;{for(inti=0;i<9600000;i++);Sleep(10);}return0;}代码清单1-2intbusyTime=10;//10msintidleTime=busyTime;//sameratiowillleadto50%cpuusageInt64startTime=0;while(true){startTime=GetTickCount();//busyloopwhile((GetTickCount()-startTime)<=busyTime);//id
2、leloopSleep(idleTime);}代码清单1-32.//C#codestaticvoidMakeUsage(floatlevel){PerformanceCounterp=newPerformanceCounter("Processor","%ProcessorTime","_Total");54if(p==NULL){return}while(true){if(p.NextValue()>level)System.Threading.Thread.Sleep(10);}}代码清单1-4//C++codetomaketaskmanagergenera
3、tesinegraph#include"Windows.h"#include"stdlib.h"#include"math.h"constdoubleSPLIT=0.01;constintCOUNT=200;constdoublePI=3.14159265;constintINTERVAL=300;int_tmain(intargc,_TCHAR*argv[]){DWORDbusySpan[COUNT];//arrayofbusytimesDWORDidleSpan[COUNT];//arrayofidletimesinthalf=INTERVAL/2;doub
4、leradian=0.0;for(inti=0;i5、代码清单1-5_PROCESSOR_POWER_INFORMATIONinfo;54CallNTPowerInformation(11,//queryprocessorpowerinformationNULL,//noinputbuffer0,//inputbuffersizeiszero&info,//outputbufferSizeof(info));//outbufsize__int64t_begin=GetCPUTickCount();//dosomething__int64t_end=GetCPUTickCount();doublemillisec=(6、(double)t_end–(double)t_begin)/(double)info.CurrentMhz;代码清单1-6#defineHALF_BITS_LENGTH4//这个值是记忆存储单元长度的一半,在这道题里是4bit#defineFULLMASK255//这个数字表示一个全部bit的mask,在二进制表示中,它是11111111。#defineLMASK(FULLMASK<>HALF_BITS_LE7、NGTH)//这个数字表示右bits的mask,在二进制表示中,它表示00001111。#defineRSET(b,n)(b=((LMASK&b)^n))//这个宏,将b的右边设置成n#defineLSET(b,n)(b=((RMASK&b)^(n<>HALF_BITS_LENGTH)//这个宏得到b的左边的值#defineGRIDW3//这个数字表示将帅移动范围的行宽度。8、#include
5、代码清单1-5_PROCESSOR_POWER_INFORMATIONinfo;54CallNTPowerInformation(11,//queryprocessorpowerinformationNULL,//noinputbuffer0,//inputbuffersizeiszero&info,//outputbufferSizeof(info));//outbufsize__int64t_begin=GetCPUTickCount();//dosomething__int64t_end=GetCPUTickCount();doublemillisec=(
6、(double)t_end–(double)t_begin)/(double)info.CurrentMhz;代码清单1-6#defineHALF_BITS_LENGTH4//这个值是记忆存储单元长度的一半,在这道题里是4bit#defineFULLMASK255//这个数字表示一个全部bit的mask,在二进制表示中,它是11111111。#defineLMASK(FULLMASK<>HALF_BITS_LE
7、NGTH)//这个数字表示右bits的mask,在二进制表示中,它表示00001111。#defineRSET(b,n)(b=((LMASK&b)^n))//这个宏,将b的右边设置成n#defineLSET(b,n)(b=((RMASK&b)^(n<>HALF_BITS_LENGTH)//这个宏得到b的左边的值#defineGRIDW3//这个数字表示将帅移动范围的行宽度。
8、#include
此文档下载收益归作者所有