[英]Keeping a c program running
成功實施了karatsuba算法后,我決定將所需時間與學校算法進行比較。 該程序需要測試最多32768位。 不幸的是,它停止在8192位數字(這些數字存儲在數組中)。 當用gdb運行它時,我得到的輸出是: Programme terminated with SIGKILL, Killed
。 所以很明顯,我在網上搜索后發現(因為我在Linux上),內核自動殺死了該程序,因為它消耗了太多的資源。 所以我的問題是:有沒有辦法讓它繼續運行?
預先感謝您的任何回復
最可能的原因是內存耗盡。 您可以通過在終端運行top
來粗略檢驗該假設。
在這種情況下, valgrind
是您的朋友。 仔細檢查在程序中調用malloc
每個位置,並確保以后對每個數組進行free
調用。
我發現在強制Linux保持程序運行之前您應該做的事情(如果仍然可以執行)。
我希望這有助於找到解決方案。
親切的問候,PB
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.