Aar*_*reP 4 c++ variables environment dll
我正在调试一个64位应用程序,其中c#exe在Windows 7上使用本机c ++ dll.看起来这两个环境变量是不同的,即使它们都在同一个进程中执行.如何调用System.Environment.SetEnvironmentVariable对getenv()返回的值没有影响?
环境变量只是一个数据块,它在启动时由窗口传递给进程.您正在使用的运行时函数(用于System.Environment的BCL和用于getenv的CRT)可能在启动期间创建环境的副本,这意味着它们不在相同的"环境"变量上运行.
从概念上讲,他们必须这样做,因为否则需要某种方式来同步他们访问环境.