YuCloud

紫菊气,飘庭户,晚烟笼细雨。

《谢新恩·冉冉秋光留不住》 - 五代 - 李煜

C++手动扩栈

——————————————————————————————————————————————————————————————————————————

G++

    #ifdef OPENSTACK
        int size = 128 << 20; // 64MB
        char *p = (char*)malloc(size) + size;
        #if (defined _WIN64) or (defined __unix)
            __asm__("movq %0, %%rsp\n" :: "r"(p));
        #else
            __asm__("movl %0, %%esp\n" :: "r"(p));
        #endif
    #endif

    #ifdef OPENSTACK
        exit(0);
    #else
        return 0;
    #endif
   

这一段加在main函数里,可以避免在dfs的时候递归太深而爆栈

C++
#pragma comment(linker, "/STACK:102400000,102400000")
加入到头文件的位置中可扩栈

————————————————————————————————————————————————————————————
G++写入主程序本地Devc++调试可用,头文件扩栈似乎不可用

posted @ 2020-09-23 20:00  tree[3]  阅读(427)  评论(0编辑  收藏  举报