home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Programmer's Library 1.3 / Microsoft-Programers-Library-v1.3.iso / sampcode / os2sdk / os2sdk11 / tk2 / example / testprof.c next >
Encoding:
C/C++ Source or Header  |  1989-02-01  |  1.0 KB  |  63 lines

  1. /***    testprof.c - TestProfile
  2. *
  3. *    HISTORY:     4 May 87 - Initial version.
  4. *
  5. */
  6.  
  7. #include <os2.h>
  8. #include <stdio.h>
  9. #include <conio.h>
  10. #include "profile.h"
  11.  
  12. #define     OUTER_LOOP        300     /* program does N*(N+1)/2 iterations */
  13.  
  14. /*  Check return code */
  15. #define     crc(a)  doCrc((a),__FILE__,__LINE__)
  16.  
  17. doCrc (rc,file,line)
  18. int    rc;
  19. char   *file;
  20. int    line;
  21. {
  22.     if (rc != 0) {
  23.     printf ("%s:(%d) call failed; rc=%d\n", file, line, rc);
  24.     exit (rc);
  25.     }
  26. }
  27.  
  28. main (argc,argv)
  29. int argc;
  30. char *argv[];
  31. {
  32.     long    i;
  33.     unsigned    unused;
  34.  
  35.     if (argc != 2) {
  36.     printf ("invalid parms\n");
  37.     printf ("  usage: %s file\n", argv[0]);
  38.     exit (1);
  39.     }
  40.  
  41.     crc( PROFINIT(PT_USER|PT_USEKP, (char far *)NULL) );
  42.     crc( PROFCLEAR(PT_USER) );
  43.     crc( PROFON(PT_USER) );
  44.  
  45.     for (i=0; i<OUTER_LOOP; i++)
  46.     inner(i);
  47.  
  48.     crc( PROFOFF(PT_USER) );
  49.     crc( PROFDUMP(PT_USER, (char far *)argv[1]) );
  50.     crc( PROFFREE(PT_USER) );
  51. }
  52.  
  53. inner(i)
  54. long i;
  55. {
  56.     long    j;
  57.     long    k;
  58.  
  59.     for (j=0; j<i; j++)
  60.     k=j;
  61. }
  62. 
  63.