如何找出给定C函数和其中声明的变量的分配内存(地址和大小)?
如果我有一个简单的C程序,只有一个主函数如何找出给定C函数和其中声明的变量的分配内存(地址和大小)?,c,operating-system,stack,memory-management,stack-trace,C,Operating System,Stack,Memory Management,Stack Trace,如果我有一个简单的C程序,只有一个主函数 如何找到分配代码的块的地址 进程分配的内存块大小 堆栈的状态(即堆栈的大小和指向堆栈的基指针) 程序中声明的每个变量的大小和位置。(我了解(sizeof)和(&)运算符的用法。但是,我如何跟踪分配给流程的每个块的变量或分配给它们的簿记变量。) 这些构造是否由操作系统维护?哪些是可访问的,为什么 在程序执行时,是否有任何工具可用于可视化此类程序状态 谢谢, de costo.调试器(如gdb)可以向您显示所有这些信息 没有简单的方法可以从程序本身中找到这
希望这能有所帮助。我觉得你的问题太笼统了。请详细说明您尝试执行的操作或目的是否具有教育意义。此外,请指定您感兴趣的平台。如果是Windows操作系统,那么就从经典的里克特的“微软Windows编程应用程序”开始吧@Andrey-是的,这是一个纯粹的教育问题。我对Windows、Linux和OSX感兴趣。我想深入了解程序及其执行。