如何解决显示C程序的内存表示Linux环境
一段时间以来,我们一直在学习有关C程序的内存表示形式,但是现在我们被要求在Linux环境中使用工具(例如nm,objdump,size等)来证明对于特定变量,实际上查看他的内存表示形式(堆栈,堆等)
例如,给出以下代码示例:
#include <stdio.h>
#include <stdlib.h>
static int var = 3;
int main(int argc,char const *argv[]){
char *str = "Hello world";
int *p = (int*)malloc(sizeof(int)*10);
printf("%s\n",str);
printf("Goodbye\n");
return 0;
}
所以我们知道p
变量在堆上,但是如何在Linux环境中使用任何命令行工具来显示/证明这一点,无需编辑和修改给定程序?
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。