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认证]热门推荐
868
人