CRT 环境变量注意事项

现象描述:更新程序时,打开了两个标签页面AB,在A标签修改环境变量,添加新增的jar包。 
然后source。B标签执行定时程序,执行的时候抛出类无法找到的运行时错误。 

最后发现,同时打开两个标签,修改环境变量,但这两个标签显示的环境变量不同。 

"当LabVIEW启动时,msvcrt7.1和msvcrt9.0同时被load进内存。他们都读取了当前labview的环境变量并放到自己的global的变量了。当我们先设置了进程环境变量后然后从labview里load XILINX DLL时,windows加载器发现msvcrt7.1已经被load进内存了,因此不再load了,那么我们用SetEnvironmentVariable()设置的环境变量在msvcrt7.1中就没有得到更新,因此xilinx的dll没有办法读出了。" 

简单来说,已打开的标签页面不会和系统实时同步环境变量。 

所以,以后大家用CRT标签A修改环境变量后,只能用A标签执行程序或新打开的标签执行。 

原文地址:https://www.cnblogs.com/feelgood/p/4806799.html