elftest.c
上传用户:yuppie_zhu
上传日期:2007-01-08
资源大小:535k
文件大小:1k
源码类别:

编译器/解释器

开发平台:

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. }