VC中堆栈的设置

VC中堆栈的设置 [原创 2007-11-15 18:53:14]    
我顶 字号:

在调试程序时,VC下经常要用到Step Over和Step Into,对于库函数,一般都知道使用Step Over,对于自定义函数,要使用Step Into。但是有时会出现如下提示:please enter the path for CHKSTK.ASM。这是由于在VC调试过程中,分配的堆栈空间不够引起的。
我们知道,C中的参数传递是传值的,如果传递是一个结构体,而且该结构体内含有大量的数组空间时,很容易引起内存溢出,从而导致错误。解决方法有两个:
1.减少函数传递的参数的个数和大小,少使用内存空间。
2.在VC++下,尽量使用引用传递,从而减少参数传递占用的堆栈空间。
3.修改VC的配置。方法如下:

Project → Setting →Link
将 Category 选项改成 Output
可以看到有一个 Stack Allocations 当中
Reserve → virtual memory
Commit → physical memory
Default 的 stack size 是 1MB
最大值为 0xffffffff (4,294,967,295)
或是可以在 compiler 完后..
在 command mode 下
下参数 /Fnumber , number 即 set stack size ..
number可以用十进位表示, 单位是 bytes

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值