《野猪乐园》显示文章详细内容: [展开] [回复] [网址] [举报] [屏蔽]
紫鱼儿
紫鱼儿目前处于离线状态
等    级:资深长老
经 验 值:5189
魅 力 值:5527
龙    币:9182
积    分:7593.7
注册日期:2003-05-22
 
  查看紫鱼儿个人资料   给紫鱼儿发悄悄话   将紫鱼儿加入好友   搜索紫鱼儿所有发表过的文章   给紫鱼儿发送电子邮件      

冬天到了,我公司程序员写了个取暖程序
冬天到了,叶子掉了,大雁们排成B字形或者T字形往南飞,程序员却还要在严寒中偎依着冰冷的电脑忧郁地玩着键盘。作为一个优秀的程序员,我们可以用程序解决除了老婆以外的所有问题,何况是小小的寒风呢。下面我们就用C来写一个取暖器。
理论上的分析是,电脑是耗费电力的,这部分电除了发光发声以外,都用在发热上面了。简单说来,CPU,硬盘,乃至内存都会因为工作而发热。考虑到程序的通用性,我们不考虑显卡声卡光驱,我们用内存读写来让内存发热,用大量计算来使CPU发热,用文件读写来加热硬盘,最后可以让电脑成为一个小小的取暖器。
让CPU发热的代码如下:

DWORD WINAPI CPUHotter(PVOID para)
{
while(1);
return 1;
}

让内存发热的代码如下:

DWORD WINAPI MemHotter(PVOID para)
{
char *Mem = new char[10000];
while(1)
{
for(int i=0;i<10000;i++)
{
Mem = 0x99;
}
}
return 1;
}

最后是让硬盘发热的代码:

DWORD WINAPI DiskHotter(PVOID para)
{
FILE *fp;
fp = fopen("_", "a+");
while(1)
{
for(int i=0;i<10000;i++)
{
fwrite("1", 1, 1, fp);
}
rewind(fp);
}
return 1;
}

main函数创建上面三个线程就可以了。本代码在Athlon 1.26 + 256M + VC 6.0的环境下编译并运行成功,Windows 2000下运行了三天,室内温度持续上升中,拟申请国家专利。受到开源思想的感化,特放出源代码,希望给各位带来一个温暖的冬天。

--
这儿对我来说是满满的回忆,偶尔回来看下,会有种看望老朋友的感觉
2005-12-07 14:13:59   此文章已经被查看98次   
 相关文章: [回复]  [顶端] 



  您必须登录论坛才可以发表文章:
 
用户名:   密码:   记住密码:    (忘记密码 注册




版权所有 回龙观社区网 经营许可证编号:京B2-20201639 昌公网安备1101140035号

举报电话:010-86468600-5 举报邮箱: