如何在 ANSI C for Windows 中设置环境变量并启动进程?如果可能的话,我想避免为此使用任何 Windows API。
问问题
1203 次
4 回答
3
在纯 ANSI C 中,这是不可能的。既没有函数setenv
也没有putenv
,甚至execv*
缺少函数族。
相反,我建议您以您想要的方式(可能看起来像execve
)编写一个小接口并且依赖于系统。这样,当您将程序移植到非 Windows 环境时,您可以轻松更改包装器。
于 2010-08-30T05:46:10.227 回答
1
假设可移植性是您指定 ANSI C 的原因,您可以使用 POSIX 函数完全按照您的意愿行事_execve
:
这是一个可移植的函数,它产生一个新的子进程并允许您提供一系列环境设置。
于 2010-08-30T08:01:30.443 回答
0
您可以使用WInAPI 中的CreateProcess函数来启动一个新进程
于 2010-08-30T07:49:39.273 回答
0
要使用 Win32 API 启动进程,请使用kayrick所述的CreateProcess函数。
要设置环境,您可以使用SetEnvironmentVariable。这些都是 Win32 API。
您可能还想看看GetEnvironmentVariable。
希望这可以帮助。
于 2010-08-30T08:03:59.900 回答