如何设置环境变量并在ANSI C for Windows中启动进程?如果可能的话,我想避免使用任何Windows API。如何设置env变量并在C中启动进程?
回答
假设便携您为什么要指定ANSI C,你可以做的正是你想要与POSIX功能_execve
什么:
这是一个便携式函数,它产生一个新的子进程并允许您提供一组环境设置。
在纯ANSI C中,这是不可能的。没有功能setenv
和putenv
,甚至没有execv*
功能系列。相反,我建议你以你想要的方式编写一个小接口(可能看起来像execve
),并且是依赖于系统的。这样,您可以在将程序移植到非Windows环境时轻松更改包装。
Visual C++有'_execve'(带有前导下划线),但它肯定不是ANSI C. – 2010-08-30 05:50:38
纯粹的ANSI C是不可能的,OK。你能告诉我如何使用Windows API做到这一点? – 2010-08-30 06:04:29
可以使用CreateProcess功能从WINAPI开始一个新的进程
要使用Win32 API启动进程,请使用kayrick所述的CreateProcess函数。可以使用SetEnvironmentVariable设置环境。 这些都是Win32 API。您可能也想看看GetEnvironmentVariable。
希望这会有所帮助。
- 1. 如何在EmberJS中设置“ENV”变量?
- 2. 在Docker中设置动态Env变量
- 3. 如何在/ etc/profile设置ENV变量?
- 4. 红宝石,如何在每个线程中设置ENV变量?
- 5. 如何获取在apache服务器进程中设置的env变量
- 6. 如何为PHP设置env变量?
- 7. 在bash中设置env变量t秒
- 8. 在R中设置env变量
- 9. 如何等待子进程在父进程中设置变量?
- 10. 如何在junit测试用例中设置env变量?
- 11. 如何在Glassfish 2.1中设置env变量
- 12. 如何设置应用程序启动应用程序变量
- 13. 如何在C中设置变量#
- 14. 如何在OS X上取消设置env变量?
- 15. 如何在jenkins编译期间从文件设置ENV变量
- 16. 如何在Mac OS X上为apache设置env变量
- 17. 基于grunt任务设置env变量
- 18. 在Mac上设置ENV变量的Ruby设置
- 19. Docker-compose:在env文件中设置一个变量并在Dockerfile中使用它
- 20. 如何使用在被调用shell脚本的路径中的子进程中设置的env变量
- 21. 在由其他进程启动的进程中设置断点
- 22. 如何从子进程设置父进程的环境变量?
- 23. 在.env中设置的变量在Docker容器内不存在
- 24. Capistrano任务启动/重新启动pm2如何传递--env变量
- 25. 如何在Linux中更新Env变量?
- 26. 如何在node.js中导出env变量
- 27. 设置Env变量并从Python脚本运行Shell脚本
- 28. 如何在启动时为root用户设置环境变量?
- 29. 如何在Matlab启动时设置一些自定义变量
- 30. 如何从cygwin .bashrc设置windows env变量?
你想要“避免使用任何Windows API”吗?启动进程需要使用* some *类型的API ...你是说你只想使用标准C吗? – 2010-08-30 05:44:48
是的,标准的ANSI C.要避免ShellExecute或其他什么 – 2010-08-30 05:45:56
很长一段时间它不是_ANSI_ C,现在ANSI只是橡皮戳ISO :-) – paxdiablo 2010-08-30 05:52:03