Advertisement
Guest User

Untitled

a guest
Feb 18th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.74 KB | None | 0 0
  1. #define BUFF        1024*1024*512
  2. #define REP         8
  3. #define ADR_A       1024*1024*510
  4. #define ADR_B       1024*1024*128
  5. #define SRH_A       7
  6. #define SRH_B       77
  7. #include <stdlib.h>
  8. #include <stdio.h>
  9.  
  10. inline void* u_memchr(const void *s, int c, size_t n)
  11. {
  12.     register const unsigned char *r;
  13.    
  14.     for(r = (const unsigned char *) s;n;++r, --n) {
  15.         if (*r == ((unsigned char)c))
  16.             return (void *) r;
  17.     }
  18.  
  19.     return NULL;
  20. }
  21.  
  22. int
  23. main(int argc, char** argv)
  24. {
  25.     char*       bytes;
  26.     unsigned    i;
  27.    
  28.     bytes = calloc(BUFF, 1);   
  29.     bytes[ADR_A] = SRH_A;
  30.     bytes[ADR_B] = SRH_B;
  31.    
  32.     for(i = 0;i != REP;i++)
  33.         printf("%p\n", u_memchr(bytes, SRH_A, BUFF));
  34.    
  35.     for(i = 0;i != REP;i++)
  36.         printf("%p\n", u_memchr(bytes, SRH_B, BUFF));
  37.    
  38.     return(EXIT_SUCCESS);
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement