如何指示g ++在n秒后停止

时间:2017-05-31 15:39:58

标签: c++ g++ flags

我想知道,如果How to select row in Mac in MC and cut one?中有任何标志选项来限制运行时间,例如堆栈大小g++和错误数量-stack_size = any_limit。假设我想在-fmax-errors=n之后暂停执行,那么除了添加20 seconds循环之外,我可以使用执行相同操作的任何标志。

1 个答案:

答案 0 :(得分:1)

你的问题很混乱。

GCC编译器主要受CPU限制。因此,如果要限制编译时间,请使用ulimit -t 20;,然后在20秒的CPU时间后,下一个g++命令将被终止(使用SIGXCPU)。但是20秒的编译时间是非常重要的。

但是如果你问的是如何让g++编译器神奇地限制生成的可执行文件的执行时间(或运行时间),那么它就不是编译器的业务。

阅读setrlimit(2),这是ulimit Bash builtin调用的系统调用。

关于一般时间,请阅读time(7)。在您的特定C ++代码中,您可能有兴趣使用timer_create(2)alarm(2)(并且可以在开头附近调用setrlimit(2)。)

另见timeout(1)