gpt4 book ai didi

从 'main' 中运行其他程序的 C++ 最佳实践

转载 作者:太空宇宙 更新时间:2023-11-04 12:47:17 28 4
gpt4 key购买 nike

所以我有一个简短的程序,它必须运行一些其他程序并等待它们完成。

目前我在我的主要方法中这样做是这样的:

// Connect to the service
cout << "Starting the service..." << endl;
status = system((SCRIPT_DIR + "/my_service").c_str());
if (WIFEXITED(status)) {
cout << "Started service successfully" << endl;
} else {
cerr << "Failed to start the service." << endl;
return (EXIT_FAILURE);
}

它看起来有点恶心,因为我必须多次这样做;这是应该做的地方吗?还是我应该将它分解成一个类或函数,这样我就不会在 main 中进行所有这些错误检查?

也欢迎任何其他建议!

最佳答案

同步方式是在阻塞函数中启动服务并返回退出值。一个接一个地启动服务并等待它们完成。

异步:

所有服务都可以并行运行。您可以启动线程并加入它们。因此,当他们完成时,您会检索退出值。

或者,您可以 fork() 并使用管道,以便让父亲向各个 child 发出命令(启动不同的程序)

关于从 'main' 中运行其他程序的 C++ 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50836121/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com