gpt4 book ai didi

c++ - dll 的环境变量与 exe 不同

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:40:04 24 4
gpt4 key购买 nike

我正在 Windows 7 上调试一个 64 位应用程序,其中 c# exe 使用 native c++ dll。这两个应用程序的环境变量似乎不同,即使它们都在同一进程中执行。调用 System.Environment.SetEnvironmentVariable 怎么可能对 getenv() 返回的值没有影响?

最佳答案

环境变量只是一个数据 block ,它在启动时由窗口传递给进程。您正在使用的运行时函数(System.Environment 的 BCL 和 getenv 的 CRT)可能会在启动期间复制环境,这意味着它们不是在相同的“环境”变量上运行。

从概念上讲,他们必须这样做,否则就需要某种方式来同步他们访问环境。

关于c++ - dll 的环境变量与 exe 不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5153547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com