编译器手工开栈

做题的时候经常遇到深度递归的,当然,可以改成非递归形式。如果写成递归形式会爆栈,所以可以用手工扩展栈。


微软的编译器(C++)

#pragma comment(linker, "/STACK:102400000,102400000")

G++

    int size = 256 << 20; // 256MB
    char *p = (char*)malloc(size) + size;
    __asm__("movl %0, %%esp\n" :: "r"(p));


你可能感兴趣的:(编译器手工开栈)