JPr*_*mer 4 c# pinvoke environment-variables
我有一个简单的c#应用程序,它使用mingnu编译器工具集绑定到库编译.我可以轻松地调用库中的函数而不会出现问题.
但是库调用getenv自己设置这个环境变量需要设置为库正常工作所以我使用Environment.SetEnvironmentVariable但是库无法检索我设置的值.
getenv在启动时创建进程的环境变量块的副本.通过SetEnvironmentVariable进行的任何后续更改都不会反映在getenv使用的变量块中.您需要调整setenv函数以使调整后的getenv调用中反映的值.
请参阅:http://msdn.microsoft.com/en-us/library/tehxacec(VS.71).aspx
"getenv和_putenv使用全局变量_environ指向的环境副本来访问环境.getenv仅对运行时库可访问的数据结构进行操作,而不是对由该进程创建的环境"段"进行操作.因此,对main或wmain使用envp参数的程序可能会检索无效信息."
| 归档时间: |
|
| 查看次数: |
1677 次 |
| 最近记录: |