如何设置env变量并在C中启动进程?

时间:2010-08-30 05:40:43

标签: c process environment-variables c89

如何设置环境变量并在ANSI C for Windows中启动进程?如果可能的话,我想避免使用任何Windows API。

4 个答案:

答案 0 :(得分:3)

在纯ANSI C中,它是不可能的。功能setenvputenv都没有,甚至execv*系列功能都缺失。

相反,我建议你以你想要的方式编写一个小接口(可能看起来像execve)并且是系统相关的。这样,您可以在将程序移植到非Windows环境时轻松更改包装器。

答案 1 :(得分:1)

假设可移植性是指定ANSI C的原因,您可以使用POSIX函数_execve完全执行所需的操作:

这是一个便携式功能,可以生成一个新的子进程,并允许您提供一系列环境设置。

答案 2 :(得分:0)

您可以使用WInAPI中的CreateProcess功能启动新流程

答案 3 :(得分:0)

要使用Win32 API启动进程,请使用kayrick所述的CreateProcess函数。

要设置环境,您可以使用SetEnvironmentVariable。 这些都是Win32 API。

您可能还想查看GetEnvironmentVariable

希望这有帮助。