zoukankan      html  css  js  c++  java
  • [转]用C写个取暖器

    冬天到了,叶子掉了,大雁们排成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下运行了三天,室内温度持续上升中,拟申请国家专利。受到开源思想的感化,特放出源代码,希望给各位带来一个温暖的冬天。
    谢谢。 

  • 相关阅读:
    sun.misc.BASE64Encoder找不到的解决方法
    eclipse里大小写转化的快捷键是什么
    jface viewer 理解
    如何在遗留代码基础上开发
    谈谈技术文档的编写
    jre build path 中的限制问题导致一些代码无法编译..如果设置
    android update automatically ( android 自动升级)
    各大集群存储产品点评
    关于@Autowired 注释为何不需要get Set
    VRML之desk
  • 原文地址:https://www.cnblogs.com/dayouluo/p/293227.html
Copyright © 2011-2022 走看看