11

argc=0 のプロセスを実行することはできますか? プログラムを実行する必要がありますが、argc が 0 であることが非常に重要です。それを行う方法はありますか? argc = 0 のように見えるように、コマンド ラインに 2^32 個の引数を入れようとしましたが、引数の数には上限があります。

4

3 に答える 3

15

execを直接呼び出すプログラムを作成できます。これにより、コマンドライン引数 (プログラム名を含む) とその欠如を指定できます。

于 2011-11-13T19:00:14.083 に答える
4

次のように、argv なしで他のプログラムを生成/実行する C プログラムを作成できます。

#include <spawn.h>
#include <stdlib.h>

int main(int argc, char** argv, char** envp)
{
    pid_t pid;
    char* zero_argv[] = {NULL};
    posix_spawn(&pid, "./that_app", NULL, NULL, zero_argv, envp);

    int status;
    waitpid(&pid, &status, NULL);
    return 0;
}
于 2011-11-13T19:01:24.447 に答える