用C写个取暖器 (zz) 献给在国内挨冻的同学们
登录 | 论坛导航 -> 华新鲜事 -> 心情闲聊 | 本帖共有 5 楼,分 1 页, 当前显示第 1 页 : 本帖树形列表 : 刷新 : 返回上一页
<<始页  [1]  末页>>
作者:猫儿 (等级:2 - 初出茅庐,发帖:32) 发表:2005-12-15 16:32:03  楼主  关注此帖评分:
用C写个取暖器 (zz) 献给在国内挨冻的同学们
冬天到了,叶子掉了,大雁们排成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[i] = 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下运行了三天,室内温度持续上升中,拟申请国家专利。受到开源思想的感化,特放出源代码,希望给各位带来一个温暖的冬天。
如可预知到未来
谁又会害怕它变改
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:单挑人生 (等级:8 - 融会贯通,发帖:1462) 发表:2005-12-15 18:27:58  2楼
汗~~~
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:易杰 (等级:4 - 马马虎虎,发帖:1053) 发表:2005-12-15 20:00:21  3楼
技术啊介奏素技术啊
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:elsjs (等级:2 - 初出茅庐,发帖:2) 发表:2005-12-16 17:34:50  4楼
巨汗
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:sunnyone (等级:6 - 驾轻就熟,发帖:2148) 发表:2005-12-18 02:29:30  5楼
潜水以久,但这次不得不汗。。。。
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
论坛导航 -> 华新鲜事 -> 心情闲聊 | 返回上一页 | 本主题共有 5 篇文章,分 1 页, 当前显示第 1 页 | 回到顶部
<<始页  [1]  末页>>

请登录后回复:帐号   密码