【问题标题】:Launching another application through c++ code [closed]通过c ++代码启动另一个应用程序[关闭]
【发布时间】:2016-03-09 10:43:48
【问题描述】:

我想知道是否有办法通过 c++ 代码启动应用程序?好像我是通过命令行启动它(例如提供参数)。

如果存在,请您提供 windows 代码和 linux 代码(以防它们不同)。

【问题讨论】:

  • 是的。您可以使用system 进行同步调用,或者使用fork 和`exec` 来生成并发子进程,或者使用popen 来生成短期子进程。所有这些方法都有些微妙,需要一点小心和思考。

标签: c++


【解决方案1】:

你可以使用系统调用,比如:

  1. exec()
  2. fork()

你可以找到很多例子。我还回答了一个关于 fork() here 的问题。

对于exec(),您可以阅读:Please explain exec() function and its family

【讨论】:

  • 好的,非常感谢。我还没试过,但是exec()使用的参数是不是我要启动的应用程序的路径?
  • 好的,文档确实回答了这个问题,谢谢。
  • 欢迎您@RyanLK。我更新了我的答案!是的,差不多就是这样,请参阅此处的示例:pubs.opengroup.org/onlinepubs/009695399/functions/exec.html 另请注意,我赞成您的问题,因为您似乎是新人,但我也投票关闭,因为太宽泛了,您需要在下次提问之前进行更多搜索。 :) 感谢您的支持!
  • 我试图搜索但不幸的是我真的不知道如何表达:(所以我认为直接询问会更好。呵呵,不用担心再次感谢!
  • 我看到@RyanLK。我不知道您是否可以这样做,但您可能也想阅读此内容:stackoverflow.com/help/someone-answers
【解决方案2】:

对于 Windows,您可以使用 spawn 系列函数之一,例如 _wspawnl。对于 Linux,您可以将 exec 系列函数之一与 fork 结合使用,例如 execl

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多