博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
像我这样的人,有木有呀,早上六点半起床,测试代码呀!!!
阅读量:6812 次
发布时间:2019-06-26

本文共 1710 字,大约阅读时间需要 5 分钟。

昨天看书看兴奋了。。。

今早睡不着,六点半起床呀(平时一般七点四十五呀),

按书上测试代码呀,

考察C代码的各种变量在代码区,STACK区,HEAP区,BSS等的存放位置呀。。

XXX,像我这样的人,有木有呀,像我这样的人,有木有呀,

1 [root@localhost ccode]# cat mem_add.c 2 #include 
3 #include
4 #include
5 #include
6 extern void afunc(void); 7 extern etext, edata, end; 8 int bss_var; 9 int data_var = 42;10 #define SHW_ADR(ID, I) printf("The %8s\t is at address: %8x\n", ID, &I);11 int main(void)12 {13 char *p, *b, *nb;14 printf("Adrress etex:%8x\t Adr edata %8x\t Adr end %8x\t\n", &etext, &edata, &end);15 printf("\ntext Location:\n");16 SHW_ADR("main", main);17 SHW_ADR("afunc",afunc);18 printf("\nbss Location:\n");19 SHW_ADR("bss_var", bss_var);20 printf("\ndata Location:\n");21 SHW_ADR("data_var",data_var);22 printf("\nStack Location:\n");23 afunc();24 p = (char *)alloca(32);25 if(p != NULL)26 {27 SHW_ADR("start", p);28 SHW_ADR("end", p + 31);29 }30 b = (char *)malloc(32 * sizeof(char));31 nb = (char *)malloc(16 * sizeof(char));32 printf("\nHeap Location:\n");33 printf("\nthe Heap start:%p\n",b);34 printf("\nthe Heap end:\%p\n",(nb = 16 * sizeof(char)));35 printf("\nb and nb in Stack\n");36 SHW_ADR("b", b);37 SHW_ADR("nb", nb);38 free(b);39 free(nb);40 return 0;41 }42 void afunc(void)43 {44 static int long level = 0;45 int stack_var;46 if(++level == 5)47 {48 return;49 }50 printf("stack_var is at:%p\n", &stack_var);51 afunc();52 }

转载地址:http://yswzl.baihongyu.com/

你可能感兴趣的文章
Android基于mAppWidget实现手绘地图(九)–如何处理地图对象的touch事件
查看>>
Flash CS 6绘图技巧之锁定填充
查看>>
RHEL6.3 DNS高级技术三 通过rsync实现DNS View访问列表文件同步
查看>>
Microsoft Hyper-V Server 2012快速上手之创建脚本运行环境
查看>>
Hadoop周边生态软件和简要工作原理(一)
查看>>
想目录形式的列表,快捷键:Tab:切换到下级目录.Shift+tab:切换到上目录.在各种文本编辑器,word等中均可用....
查看>>
javascript关于IE和火狐处理event处理数据的问题
查看>>
多维数据查询效率分析(1)
查看>>
内存对齐
查看>>
log4net使用中遇到的一些问题
查看>>
getPositionForView
查看>>
Oracle Form 中commit 与do_key('commit_form')区别
查看>>
SmartGridView 控件EmptyDataTemplate存在问题
查看>>
图片base64编码显示 - suflow - ITeye技术网站
查看>>
ArcGIS 服务对象扩展(SOE)新手自学笔记(2):REST SOE模板上
查看>>
gvim 2012,8,30号 配置
查看>>
Struts2----><s:token />标签防止重复提交
查看>>
mapreduce (一) 物理图解+逻辑图解
查看>>
自动化测试 Windows 8 应用
查看>>
[译]Array.prototype.concat不是通用方法
查看>>