Windows上为程序开辟更大的栈空间
来源:互联网 发布:淘宝微博 编辑:程序博客网 时间:2024/05/20 02:24
最近在研究算法时,遇到稍微深一点的递归就会Stack Overflow,由于不是实际项目,所以并不想用绕道而行的方法解决,于是便在代码里动了点手脚,把栈空间弄大了。实际项目中最好别这么干,容易搞乱堆栈调用,最好从算法上避免过深的递归或者自己用栈结构模拟进栈出栈。当然更好的方法是不用Windows(笑)。
//VC++//预留100MB,当前提交100MB#pragma comment(linker,"/STACK:102400000,102400000")
//G++//256MBint size=256<<20;//申请空间char *p=(char*)malloc(size)+size;__asm__("movl %0,%%esp\n"::"r"(p));/*内联汇编,格式 __asm__ __volatile__("Instruction List":Output:Input:Clobber/Modify);movl xxx,%eaxmovl %eax,%esp其中%0为占位符,r为寄存器约束约束 Input/Output 意义r I,O 表示使用一个通用寄存器,由GCC在%eax/%ax/%al, %ebx/%bx/%bl, %ecx/%cx/%cl, %edx/%dx/%dl中选取一个GCC认为合适的q I,O 表示使用一个通用寄存器,和r的意义相同a I,O 表示使用%eax / %ax / %alb I,O 表示使用%ebx / %bx / %blc I,O 表示使用%ecx / %cx / %cld I,O 表示使用%edx / %dx / %dlD I,O 表示使用%edi / %diS I,O 表示使用%esi / %sif I,O 表示使用浮点寄存器t I,O 表示使用第一个浮点寄存器u I,O 表示使用第二个浮点寄存器*/
0 0
- Windows上为程序开辟更大的栈空间
- C++中为二维数组开辟空间,并释放空间
- sina博客上的资料全完蛋了,在这里重新开辟空间吧
- 如何动态开辟二维空间的问题,
- 堆空间的开辟与释放
- 如何动态开辟二维空间的问题,
- 同学最擅长的开辟数组空间
- 为数组动态开辟空间,合理使用内存资源
- 为myeclipse分配更大的内存
- 为app申请更大的内存
- windows 安装程序无法将windows配置为在此计算机的硬件上运行
- windows安装程序无法将windows配置为在此计算机的硬件上运行
- 解决:windows安装程序无法将windows配置为在此计算机的硬件上运行
- 解决windows安装程序无法将windows配置为在此计算机的硬件上运行
- 解决:windows安装程序无法将windows配置为在此计算机的硬件上运行
- windows安装程序无法将windows配置为在此计算机的硬件上运行
- windows安装程序无法将windows配置为在此计算机的硬件上运行
- windows安装程序无法将windows配置为在此计算机的硬件上运行 解决方法
- C++_直接插入排序
- jar包如何安装到本地仓库
- NetBeans8.0启动tomcat8.1.15失败--'127.0.0.1' 不是内部或外部命令
- python获取linux系统内存、cpu、网络使用情况
- 这一天,新的开始
- Windows上为程序开辟更大的栈空间
- 18.6.(1)(2)(3)
- php反射获取类及方法中的注释
- hiho一下 第二十六周---最小生成树一·Prim算法
- 黄淮学院CSDN高校俱乐部2014圣诞晚会
- Python监控CPU情况
- C语言产生随机数
- JavaScript的IE兼容性
- UVA 437 The Tower of Babylon(最长上升子序列)