메모리 레이아웃
#define PRADDR(X) printf(" %s at %o and value = %o\n","X",&X,X)
extern etext, edata, end;
static char s = 'S';
int a,b = 1;
main(argc,argv)
int argc;
char *argv[];
{
void sub1();
static int c, d =1;
char m,n = 'n';
printf("main at %o and sub1 at %o\n",main,sub1);
printf("end of text segment at %o\n",&etext);
PRADDR(s); PRADDR(b);
PRADDR(c); PRADDR(d);
printf("end of statics & initialized externals at %o\n", &edata);
PRADDR(a);
printf("end of uninitialized externals at %o\n", &end);
PRADDR(m); PRADDR(n);
PRADDR(argc); PRADDR(argv);
for(b = 0; b<argc; b++)
printf("argv[%d] at %o and value = %o or %s\n",
b, &argv[b], argv[b], argv[b]);
sub1(c);
}
void sub1(p)
int p;
{
static int t;
char v;
PRADDR(t); PRADDR(p); PRADDR(v);
}
Comments
Post a Comment