elftest.c
Upload User: yuppie_zhu
Upload Date: 2007-01-08
Package Size: 535k
Code Size: 1k
Development Platform:

C/C++

  1. /*
  2.  * test source file for assembling to ELF
  3.  * build with:
  4.  *    nasm -f elf elftest.asm
  5.  *    gcc -o elftest elftest.c elftest.o
  6.  * (assuming your gcc is ELF)
  7.  */
  8. #include <stdio.h>
  9. extern int lrotate(long, int);
  10. extern void greet(void);
  11. extern char asmstr[];
  12. extern void *selfptr;
  13. extern void *textptr;
  14. extern int integer, commvar;
  15. int main(void) {
  16.     printf("Testing lrotate: should get 0x00400000, 0x00000001n");
  17.     printf("lrotate(0x00040000, 4) = 0x%08lxn", lrotate(0x40000,4));
  18.     printf("lrotate(0x00040000, 14) = 0x%08lxn", lrotate(0x40000,14));
  19.     printf("This string should read `hello, world': `%s'n", asmstr);
  20.     printf("The integers here should be 1234, 1235 and 4321:n");
  21.     integer = 1234;
  22.     commvar = 4321;
  23.     greet();
  24.     printf("These pointers should be equal: %p and %pn",
  25.    &greet, textptr);
  26.     printf("So should these: %p and %pn", selfptr, &selfptr);
  27. }