关于Linux C程序存储空间的逻辑布局

2016-11-30 00:00:00嘉辉 Linux认证

  Linux C程序存储空间的逻辑布局是怎么样的?为了方便大家,下面YJBYS小编为大家整理了关于Linux C程序存储空间的逻辑布局的文章,希望对你有所帮助。

  一、APUE上指出了 Linux C程序存储空间的逻辑布局,对于 X86上的Linux

  正文段从 0x08048000单元开始

  栈底则在 0xC0000000之下开始 (栈从高地址向低地址生长)

  图如下:

  二、例程

  实现一个函数f(),不用指针,实现在函数内修改传入参数的值。

  #include "stdio.h"

  #include "sys/types.h"

  void f1(u_int32_t a)

  {

  printf("%p\n", &a);

  u_int8_t *ap = (u_int8_t *)&a;

  while(++ap)

  {

  printf("%p\n", ap);

  if( *ap == a)

  {

  *ap = 7;

  break;

  }

  }

  }

  main()

  {

  u_int32_t i = 123;

  printf("%p\n", &i);

  f1(i);

  printf("%d\n", i);

  }

  运行结果

  / ..........

阅读全文

[Linux认证]相关推荐

[Linux认证]相关栏目推荐
查看更多
上一篇:2016年Linux认证考试模拟试题及答案 下一篇:如何避免出现僵尸进程