【模板】手工栈(扩栈)
由于windows下的评测极其容易爆内存栈,然而部分LJ OJ依然在用windows的服务器,以下手工扩栈代码(比赛禁用!)
const int main_stack=16;
char my_stack[128<<20];
int main() {
__asm__("movl %%esp, (%%eax);\n"::"a"(my_stack):"memory");
__asm__("movl %%eax, %%esp;\n"::"a"(my_stack+sizeof(my_stack)-main_stack):"%esp");
tmain();
__asm__("movl (%%eax), %%esp;\n"::"a"(my_stack):"%esp");
return 0; //add stack copy copy!!!
}
用法,将这个复制到程序末尾,将原本的int main() 改成tmain()即可

浙公网安备 33010602011771号