【问题标题】:calling executable with system command使用系统命令调用可执行文件
【发布时间】:2015-04-08 13:37:44
【问题描述】:

我正在通过 system() 命令从 c++ 程序中调用可执行文件。虽然每次调用都成功,但当 c++ 代码在运行时多次调用可执行文件时,我遇到了问题。此时,可执行文件的运行时间比预期的要长。

我应该补充一点,调用可执行文件的 c++ 代码是一个优化例程。然而,可执行文件仅按顺序调用。完成后,c++ 代码继续下一次迭代,并使用另一组参数再次调用可执行文件。

系统命令背后是否有任何限制可能会产生这种情况?短时间内可以调用的次数有上限吗?

感谢您的帮助。

耐多药。

【问题讨论】:

  • 你看过this的帖子吗?

标签: c++ system executable


【解决方案1】:

系统命令背后没有限制,但你可以有来自操作系统的限制。 http://blogs.technet.com/b/markrussinovich/archive/2009/07/08/3261309.aspx

【讨论】:

    【解决方案2】:

    系统调用立即返回 - 当命令进程启动时。如果您连续进行多次调用,您可能会同时创建一个进程或 shell 命令的多个实例。这会消耗内存和处理器资源,从而导致速度变慢。

    您想知道系统调用之间的时间,当您注意到并发出时,以及系统调用发出的进程或命令需要多长时间才能完成。 如果(完成时间 > 调用之间的时间)那么您将创建已创建进程的多个实例

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-22
      • 2019-05-13
      • 2011-07-10
      • 2010-09-10
      相关资源
      最近更新 更多