像我这样的人,有木有呀,早上六点半起床,测试代码呀!!!-阿里云开发者社区

开发者社区> 天飞> 正文

像我这样的人,有木有呀,早上六点半起床,测试代码呀!!!

简介: 昨天看书看兴奋了。。。 今早睡不着,六点半起床呀(平时一般七点四十五呀), 按书上测试代码呀, 考察C代码的各种变量在代码区,STACK区,HEAP区,BSS等的存放位置呀。。 XXX,像我这样的人,有木有呀,像我这样的人,有木有呀, 1 [root@localhost ccode]# cat mem_add.
+关注继续查看

昨天看书看兴奋了。。。

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

按书上测试代码呀,

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

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

 1 [root@localhost ccode]# cat mem_add.c
 2 #include <stdio.h>
 3 #include <malloc.h>
 4 #include <unistd.h>
 5 #include <alloca.h>
 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 }

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
4068 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
2847 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
9425 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
5728 0
阿里云服务器远程登录用户名和密码的查询方法
阿里云服务器远程连接登录用户名和密码在哪查看?阿里云服务器默认密码是什么?云服务器系统不同默认用户名不同
443 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
1131 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
3227 0
+关注
天飞
一个运维老同志
1507
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载