spewG.c
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:1k
源码类别:

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: spewG.c,v $
  4.  * PRODUCTION Revision 1000.0  2003/10/29 15:46:03  gouriano
  5.  * PRODUCTION PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.1
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. /* spew out a thoroughly gigantic file designed so that bzip2
  10.    can compress it reasonably rapidly.  This is to help test
  11.    support for large files (> 2GB) in a reasonable amount of time.
  12.    I suggest you use the undocumented --exponential option to
  13.    bzip2 when compressing the resulting file; this saves a bit of
  14.    time.  Note: *don't* bother with --exponential when compressing 
  15.    Real Files; it'll just waste a lot of CPU time :-)
  16.    (but is otherwise harmless).
  17. */
  18. #define _FILE_OFFSET_BITS 64
  19. #include <stdio.h>
  20. #include <stdlib.h>
  21. /* The number of megabytes of junk to spew out (roughly) */
  22. #define MEGABYTES 5000
  23. #define N_BUF 1000000
  24. char buf[N_BUF];
  25. int main ( int argc, char** argv )
  26. {
  27.    int ii, kk, p;
  28.    srandom(1);
  29.    setbuffer ( stdout, buf, N_BUF );
  30.    for (kk = 0; kk < MEGABYTES * 515; kk+=3) {
  31.       p = 25+random()%50;
  32.       for (ii = 0; ii < p; ii++)
  33.          printf ( "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" );
  34.       for (ii = 0; ii < p-1; ii++)
  35.          printf ( "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" );
  36.       for (ii = 0; ii < p+1; ii++)
  37.          printf ( "ccccccccccccccccccccccccccccccccccccc" );
  38.    }
  39.    fflush(stdout);
  40.    return 0;
  41. }