繁体   English   中英

为什么 nvmlDeviceGetTemperature 只能在调试模式下工作?

[英]Why does nvmlDeviceGetTemperature only work in debug mode?

使用 VS2022,以下代码片段在调试模式下有效,但在发布模式下无效:

nvmlInit();
nvmlDevice_t devH;
auto ret = nvmlDeviceGetHandleByIndex_v2(0, &devH);
if (ret != NVML_SUCCESS)  DPrint("ERROR!");

u32 tt{};
ret = nvmlDeviceGetTemperature(devH, NVML_TEMPERATURE_GPU, &tt);
if (ret != NVML_SUCCESS)  DPrint("%s\n\n", nvmlErrorString(ret));

DPrint("TEMP:  %u\n", tt);

Sleep(10000);

在发布模式下,我得到NOT SUPPORTED ,但在调试模式下它工作正常,打印温度。 我已经检查了所有属性,尤其是 linker 属性,但我找不到任何可以解释它的显着差异。 DPrint是一个简单的实用程序,用于打印到 output window。

结果是发布版本加载了不同版本的 nvml.dll。 修复它,现在它可以工作了!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM