问题:怎样才能得到一个函数使用的Stack空间大小呢。解释:Stack空间大小指的是程序运行到这个函数时,函数运行需要使用的运行时栈的大小。
例如:
function()
{
int i, j; // 运行时栈中的空间,这就是我需要计算的空间大小。
int k = new int[1]; // 堆中的空间,这不是我需要计算的空间大小。 ...
}我知道能够在Unix上面取得这个大小,那么,我想在Windows上面应该同样能够取得这个数值,那么VC编译器是否提供这样的功能呢?或者Windows或VC的库中是否有取得一个函数使用的Stack空间大小的函数呢?目的:统计一个数万行程序中,所有函数的运行期Stack的大小。以上问题,希望大家能够不吝指导,谢谢!
例如:
function()
{
int i, j; // 运行时栈中的空间,这就是我需要计算的空间大小。
int k = new int[1]; // 堆中的空间,这不是我需要计算的空间大小。 ...
}我知道能够在Unix上面取得这个大小,那么,我想在Windows上面应该同样能够取得这个数值,那么VC编译器是否提供这样的功能呢?或者Windows或VC的库中是否有取得一个函数使用的Stack空间大小的函数呢?目的:统计一个数万行程序中,所有函数的运行期Stack的大小。以上问题,希望大家能够不吝指导,谢谢!
解决方案 »
- 关于 HJJ的 <深入浅出mfc>
- 在vc中是否有把双精度数转化为文本形式?(输入到编辑框控件中?)
- USHORT RtlUshortByteSwap(IN USHORT Source) 用过这个函数的人请进
- 新手问题:对话框类的类型是什么
- 有没有办法用程序创建一个文件夹,这个文件夹只能给Administrator访问?
- 怎样关闭线程句柄?
- 谁知道D3D如何导入3dMax或者玛雅等建好的3d模型?
- 继承COleControl 的控件类,如何从新实现IPersistStorage接口,因此在ColeControl 里实现的接口方法不能实现功能
- 请求熟悉华为北向corba接口的大虾的帮助
- 库函数问题
- 哪有msdn library 免费下载啊?
- 一打开文件对话支持多选,但如何能获得选择的所有文件名呢?
unsigned stackbottom;void checkstack()
{
int i; unsigned s = (unsigned) & i; if (s < stackbottom) stackbottom = s;
} void f()
{
int i, j; checkstack();
}int main()
{
int i; statcktop = stackbottom = (unsigned) & i; f(); printf("Maximum stack depth %d", stackbottom - stacktop); return 0;
}