0

子プロセスを作成し、いくつかの引数を渡しています。

さて、子プロセスはコードの次の行から実行を開始しますが、以下のように、子プロセス用に別の int main() を個別に記述する必要がありますか、それとも既に記述されている int main() のコードを使用するだけですか?親プロセス?

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

ENV: WinXP、VS2005 注: 上記のコードはフローを説明しているだけで、構文エラーがある場合があります。

4

2 に答える 2

1

CreateProcessWindowsと UNIXを混同していませfork()んか? 2 つのオペレーティング システムは、プロセスの作成方法が異なります。Windows では最初から exe ファイルを実行する必要があり、UNIXのCreateProcessように後で子プロセスとして続行することはできません。fork「子プロセスはコードの次の行から実行を開始します」というステートメントは、Windows と間違えられています。

あなたのコードはUNIXでも違法であり、mainと呼ばれる2つの関数を持つことはできず、Cでネストされた関数を持つことはできません.

于 2012-12-12T12:50:44.613 に答える
0

Please read the documentation of CreateProcess() again.

The function takes the filename of the program to run in the new process. The nested function you're showing is not valid C.

于 2012-12-12T12:04:13.730 に答える