标签:apu 正文 x86 log com net inux class types

#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);
}
运行结果


从结果可以清晰的看到:
1 进入函数f1()后,栈“向下”生长了。
2 通过直接访问栈内容,修改了栈内的值。
注:这种操作相当不安全,因为不能保证栈内没有其它相同的值。
标签:apu 正文 x86 log com net inux class types
原文地址:http://www.cnblogs.com/oxspirt/p/7478465.html