Advertisement
Guest User

Untitled

a guest
Jul 6th, 2013
35
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main(void) {
  5. int foobar[2];
  6.  
  7. foobar[0] = 0x11223344;
  8. foobar[1] = 0x55667788;
  9.  
  10. switch (*((unsigned char *)&foobar)) {
  11. case 0x11:
  12. printf("big endian\n");
  13. break;
  14. case 0x44:
  15. printf("little endian\n");
  16. break;
  17. default:
  18. printf("weird endianness\n");
  19. }
  20.  
  21. printf("0x%08x, &foobar: %p\n", 'abcd', &foobar);
  22. *(int *)((char *)&foobar + 3) = 0x11223344;
  23.  
  24. return 0;
  25. }
  26.  
  27.  
  28. leah$ gcc foo.c -o foo
  29. foo.c:21:41: warning: multi-character character constant
  30. leah$ ./foo
  31. big endian
  32. 0x61626364, &foobar: 0x7fdffffe968
  33. leah$ uname -a
  34. FreeBSD leah.org 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 06:53:42 UTC 2010 root@araz.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC sparc64
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement