【问题标题】:Equivalent of CreateProcess() in C++ standard Library template (STL)C++ 标准库模板 (STL) 中 CreateProcess() 的等价物
【发布时间】:2014-09-23 10:21:17
【问题描述】:

我们知道,CreateProcessAPI 在 C 程序中用于创建进程(启动 EXE 等)。

我尝试探索 C++ 中是否有任何方法可以使用 STL(标准库)实现相同的目标。

原因是,在 CreateProcess() API 中,我们需要关心 LPTSTR(Unicode/MBCS 等)等各种类型。

但是,如果有任何 C++ STL 等价物可以抽象所有这些细节,那将非常有帮助。

【问题讨论】:

  • "STL" 在这里只是误导。 C++ 标准库已经发展到包括来自旧的 IOstreams、字符串库、STL 和最近的 Boost 库的部分,以及沿途的一些自己的发明,以及 C99 标准库的引用。

标签: c++ visual-c++ stl createprocess


【解决方案1】:

不,CreateProcess 用于 Windows 程序。 C 程序使用system。这在 C++ 中以 std::system 的形式提供。

【讨论】:

  • 我只是想更好地理解事情。那么,这是否意味着 system() [in C] & [std::system in C++] 内部调用 callCreateProcess() ?为了对我正在搜索的内容进行类比,因为我们在标准 C++ 库 (std) 中有许多抽象且易于编程的东西,例如(类比)如果不是干预内部字符等。我们使用字符串对象(它已抽象字符操作),我们是否有一些由 C++ 标准库公开的类似 API 可以帮助创建 process()?
  • @codeLover: 或者 ShellExecute 或者 CreateProcessEx 或者可能还有另一个类似的函数。不相关的细节,通常。当您调用system 时,您会通过编译器供应商认为合适的任何方式获得一个新进程。如果是 Microsoft 的 Visual C++,他们应该知道。
猜你喜欢
  • 2012-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-22
  • 2022-06-12
  • 2021-12-15
  • 1970-01-01
  • 2011-01-10
相关资源
最近更新 更多