0

我正在创建一个子进程并向它传递一些参数。

现在,子进程从下一行代码开始执行,但是我是否必须为子进程单独编写另一个 int main(),如下所示,或者它是否只使用已经编写的 int main() 代码父进程?

    createProcess(All required arguments);
    if (pid == child_process)
    {
       int main ()
       {
        ......
       }
    }

ENV: WinXP, VS2005 注意:上面的代码只是描述了流程,可能有语法错误。

4

2 回答 2

1

CreateProcess您是否将 Windows与 UNIX混淆了fork()?这两个操作系统在创建进程的方式上有所不同。对于 Windows,您必须从头开始执行一个 exe 文件,您不能像在 UNIX 上CreateProcess那样继续作为子进程。fork您的语句“子进程从下一行代码开始执行”被误认为是 Windows。

请注意,您的代码在 UNIX 上也是非法的,不能有两个称为 main 的函数,也不能在 C 中具有嵌套函数。

于 2012-12-12T12:50:44.613 回答
0

请再次阅读文档CreateProcess()

该函数采用程序的文件名在新进程中运行。您显示的嵌套函数无效 C。

于 2012-12-12T12:04:13.730 回答