c++跨平台后台任务
Posted
技术标签:
【中文标题】c++跨平台后台任务【英文标题】:c++ Cross platform background task 【发布时间】:2016-01-12 13:27:18 【问题描述】:我试图弄清楚如何开发一个跨平台程序,该程序将在后台运行,并且在系统启动后就可以运行。
我只想介绍 Windows 和 Linux。我知道没有线程这样的东西,只有进程。 所以.. 在 Linux 中,我需要在 Windows 中制作守护程序或服务。
我知道它们中的每一个是如何以逻辑方式工作的,但我不知道如何编写它。
我会感谢我能得到的每一个帮助。 谢谢!
【问题讨论】:
你试过问谷歌吗? This SO post 总结了 Linux 的步骤。我确信 Windows 也存在类似的答案。 【参考方案1】:您只需要在系统启动后运行您的程序。它与线程和东西无关。
将特定于操作系统的东西包装在
中#if defined _WIN32
#include <windows.h>
int ret = ShellExecute(hwnd, "runas", "see link below for windows", NULL, "c:\\windows\\system", SW_SHOWNORMAL );
#elif defined __linux__
int ret = system("see link for linux");
#else
#error Err
#endif
Windows的链接
Linux 的链接 - 对于 linux 案例,您需要调用几个命令来创建启动脚本并将它们添加到 chkconfig
【讨论】:
以上是关于c++跨平台后台任务的主要内容,如果未能解决你的问题,请参考以下文章
如何从 C++ 后台任务(Windows 通用应用程序)调用 C# 函数?