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

编译器/解释器

开发平台:

C/C++

  1. /*
  2.  * test source file for assembling to Microsoft 16-bit .OBJ
  3.  * build with (16-bit Microsoft C):
  4.  *    nasm -f obj objtest.asm
  5.  *    cl /AL objtest.obj objlink.c
  6.  * other compilers should work too, provided they handle large
  7.  * model in the same way as MS C
  8.  */
  9. #include <stdio.h>
  10. char text[] = "hello, worldn";
  11. extern void function(char *);
  12. extern int bsssym, commvar;
  13. extern void *selfptr;
  14. extern void *selfptr2;
  15. int main(void) {
  16.     printf("these should be identical: %p, %pn",
  17.            (long) selfptr, (long) &selfptr);
  18.     printf("these should be equivalent but different: %p, %pn",
  19.            (long) selfptr2, (long) &selfptr2);
  20.     printf("you should see "hello, world" twice:n");
  21.     bsssym = 0xF00D;
  22.     commvar = 0xD00F;
  23.     function(text);
  24.     printf("this should be 0xF00E: 0x%Xn", bsssym);
  25.     printf("this should be 0xD00E: 0x%Xn", commvar);
  26.     return 0;
  27. }