windows下守护进程实现

这里的守护进程指的是无控制终端的进程。

Linux下运行进程只需要后面添加&就可以实现。有的时候需要设计一个可以同时在Windows和Linux下运行的守护进程

为了避免过多的修改代码。可以添加如下伪指令来实现:

#ifndef WIN32

#pragma comment(linker,"subsystem:windows entry:mainCRTStartup")

#endif

设置链接选项,subsystem为windows,即GUI程序,窗口必须显示创建;entry指定进入的函数为int main(int argc, char*argv);

其实可以直接指定链接选项中的subsystem参数,把入口参数改为int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow);

只不过在使用ACE情况下,需要入口函数必须是main,所以为了方便在Windows和Linux下同时运行,只好采用上述方法实现。

你可能感兴趣的:(Windows开发,C/C++)