【发布时间】:2016-01-26 01:57:37
【问题描述】:
我知道如何用 GNU 编译程序,但有些程序可以在“无限循环”中。目标是通过在某个给定的时间间隔(称为“时间限制”)后自动终止程序来避免程序中存在无限循环时的挫败感。 如何使用 GNU Makefile 来做到这一点?
示例:在 n=10^10 的情况下,在 1 秒内编译并运行此代码
int main() { int n =10000000000; vector<int> a; for (int i=0;i<n) a.push(i); return 0; }如果程序运行超过 1 秒,它必须被杀死,我需要一个 “超出时间限制”通知。
抱歉英语不好:)
【问题讨论】:
-
这是在你的代码中做的事情,而不是编译器选项。
-
您可以在后台生成进程,然后在 shell 中运行一个计时器,如果进程没有完成则终止该进程。