代码之家  ›  专栏  ›  技术社区  ›  Noctis Skytower

如何使用\u spawn或\u exec进行引导?

  •  0
  • Noctis Skytower  · 技术社区  · 15 年前

    在编写以下程序之后,它似乎没有向被调用的应用程序传递参数。在研究的时候 _spawnv 它能做什么, _execvp 被认为是一个合适的选择。有人看到源代码中的问题并知道需要做什么来修复它吗?

    #include <stdio.h>
    #include <stdlib.h>
    #include <process.h>
    
    int main(int argc, char** argv)
    {
        int index;
        char** args;
        args = (char**) malloc((argc + 1) * sizeof(char*));
        args[0] = "boids.py";
        for (index = 1; index < argc; index++)
        {
            args[index - 1] = argv[index];
        }
        args[argc] = NULL;
        return _execvp("python", args);
    }
    
    1 回复  |  直到 15 年前
        1
  •  2
  •   Dirk    15 年前

    中的第一个参数 argv vector通常是要启动的可执行文件的完全限定名:

    产卵器、产卵器、产卵器和 _当参数数目可变时,对 新流程。指向的指针 参数作为数组传递, 阿尔冈病毒参数argv[0]通常是 指向实模式路径或 保护模式下的程序名, 阿尔冈病毒 1 通过argv[n]是 指向字符串的指针 形成新的参数列表。这个 参数argv[n+1]必须为空 指针,用于标记 参数列表。

    (从 MSDN )

    同样地:

    “执行”、“执行”、“执行”和 _当新的 过程是可变的。指向的指针 参数作为数组传递, 阿尔冈病毒参数argv[0]通常是 指向cmdname的指针。参数 argv 通过argv[n]指向 构成新的 参数列表。参数 argv[n+1]必须是指向的空指针 标记参数列表的结尾。

    ( MSDN )