CodeBlocks 遭遇: Can't open outFile debug permission denied
解决办法: 在任务管理器中 , 关闭 **.exe 进程。
codeBlocks遭遇: Process returned 4256912 (0x40F490)
编译通过,运行时出现错误提示。:
关闭codeBlocks,然后重启codeBlocks,完美解决
又一次没那么幸运,重新注销,重启CodeClocks,才解决。
什么原因引起的。。。???
codeBlocks遭遇:project路径中包含汉字字符,导致断点不停。
解决方案 !!!!重新建立工程。路径中不能出现中文
遭遇: 洛谷上下载的数据, 没有分行( linux下跟windows下不一样)
解决: 你用word打开再保存一下就好了
关于函数递归时候的崩溃问题
在最终评测时,调用栈占用的空间大小不会有单独的限制,但在我们的工作环境中默认会有 8 MB 的限制。这可能会引起函数调用层数较多时,程序发生
栈溢出崩溃。
我们可以使用一些方法修改调用栈的大小限制。例如,在终端中输入下列命
令
ulimit -s 1048576
此命令的意义是,将调用栈的大小限制修改为 1 GB。
将上述源代码编译为可执行文件 sample 后,可以在终端中运行如下命令运行该程序./sample如果在没有使用命令“ulimit -s 1048576”的情况下运行该程序,sample会因为栈溢出而崩溃;如果使用了上述命令后运行该程序,该程序则不会崩溃。特别地,当你打开多个终端时,它们并不会共享该命令,你需要分别对它们运行该命令。请注意,调用栈占用的空间会计入总空间占用中,和程序其他部分占用的内存共同受到内存限制
很多题解中提到:卡常数:百度解释如下:
一般指程序虽然渐进复杂度可以接受,但是由于实现/算法本身的时间常数因子较大,使得无法在时限内运行结束。
设,可以看到f和g的渐进复杂度是相同的,但是g本身是f的20倍,如果时限1s,f要跑0.1s的话,g就要跑2s而超时。
遭遇:在Cmd窗口中复制数据,没法复制完整
解决方案:可能原因:Windows默认命令行窗口大小和缓冲区大小太小。建议用文件读写。
遭遇:Program received signal SIGSEGV, Segmentation fault解决方案:
程序里执行了无效的内存引用。
对于不正确的内存处理,计算机程序可能抛出SIGSEGV。操作系统可能使用信号栈向一个处于自然状态的应用程序通告错误,由此,开发者可以使用它来调试程序或处理错误。
在一个程序接收到SIGSEGV时的默认动作是异常终止。这个动作也许会结束进程,但是可能生成一个核心文件以帮助调试,或者执行一些其他特定于某些平台的动作。
小技巧:
技巧1: #define debug(...) fprintf(stderr, __VA_ARGS__)
技巧2: incline的使用
技巧3: (double)clock() / CLOCKS_PER_SEC
技巧4 codeBlocks中调试按钮合理使用
技巧4: assert断言使用
3 codeBlocks