///////////////////////////////////////////win32 控制台应用程序
const unsigned int large = 0x6FFFFFFF ;
void foo()
{
char limit[large] ;
}
int main()
{
foo() ;
char limit[1036096] ;
}
////////////////////////////////////////////////////////
谁知道这样的main函数栈空间标准吗,
在main的栈上能分配的最大空间是1036096 字节,即使多分配一字节,或是
多定义一个变量也不行了,编译能通过,一运行就出错了,
但是在其它函数里却没这种情况,要在普通函数的栈上分配太多空间的话
我用的VC6 会报错:
negative subscript or subscript is too large
在Win32 应用程序里
#include<windows.h>
int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nShowCmd)
{
char limit[1036016] ;
}
这也是极限了即使分配char limit[1036017] 应用程序也会异常中止
我用的系统是WinXP,大家试试自己的系统里主函数的栈空间有多大
const unsigned int large = 0x6FFFFFFF ;
void foo()
{
char limit[large] ;
}
int main()
{
foo() ;
char limit[1036096] ;
}
////////////////////////////////////////////////////////
谁知道这样的main函数栈空间标准吗,
在main的栈上能分配的最大空间是1036096 字节,即使多分配一字节,或是
多定义一个变量也不行了,编译能通过,一运行就出错了,
但是在其它函数里却没这种情况,要在普通函数的栈上分配太多空间的话
我用的VC6 会报错:
negative subscript or subscript is too large
在Win32 应用程序里
#include<windows.h>
int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nShowCmd)
{
char limit[1036016] ;
}
这也是极限了即使分配char limit[1036017] 应用程序也会异常中止
我用的系统是WinXP,大家试试自己的系统里主函数的栈空间有多大