[问题] 环境问题 但逻辑上好像怪怪的

楼主: checkIO (chec)   2016-10-14 16:38:39
开发平台(Platform): (Ex: Win10, Linux, ...)
win7 vs2015c++
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
qt5.7
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
HWiNFO32
目前想用HWiNFO32去抓gpu风扇资讯
但遇到一个奇怪的问题
电脑A:作者的CODE可以抓到电脑A的GPU风扇资讯
我的CODE是抄自作者的CODE,但在电脑A上抓不到风扇资讯
电脑B:但我的CODE却可以在电脑B上抓到电脑B的风扇资讯
这样跟环境也有关系吗? 但在我认知里面 电脑A应该可以算是同一个环境?
然后唯一的共通点在于,要是我的code在抓风扇资讯的那行设中断点
不管是电脑A或者电脑B 都不会跑到那行。
但作者的code设定中断点 却会跑进那行
==============我的================
https://gist.github.com/Aix-Shiao/54f9158b567fc91c3b6a59b3
41d576c5#file-hwinfo32_my-cpp
=============作者的================
https://gist.github.com/Aix-Shiao/411f57d7cfd602390e3e9dc9
616a16f7#file-hwinfo_author-cpp
补充一下
n = ::HWi32_GetNumberOfDetectedSensors();
这行在电脑A跑的时候 作者的N是14
我的N是10 然后我想过把
for (i=0; i<n ; i++) ->更换成 for(i=0; i<14 ; i++)
但一点用都没有
把中断点设在
f = ::HWi32_GetFan( i, j, reading_desc_buf, sizeof(reading_desc_buf) );
if( f && f != INVALID_READING_VALUE )
{
str.Format( "%s = %.0f RPM\n", reading_desc_buf, f );
m_ctrlList.AddString( str ); <-中断点
}
这时i = 11, j = 0
但我两个都手动设过 没用...
作者: wtchen (没有存在感的人)   2016-10-14 16:53:00
....你不附code怎么帮你?我水晶球等级真的太差....
作者: stupid0319 (征女友)   2016-10-14 18:59:00
作者的CODE有付费,你的没付费吗
作者: CoNsTaR ((const *))   2016-10-14 19:56:00
可以 compiler 的档案
作者: Schottky (顺风相送)   2016-10-14 20:03:00
你的显示卡是哪一牌的? Nvidia 还是 AMD ?
楼主: checkIO (chec)   2016-10-14 20:08:00
N牌 但作者的demo可以确切的抓到完整的资讯但我照抄作者的CODE 不应该有这种问题....
作者: Schottky (顺风相送)   2016-10-14 20:10:00
我说... N 牌要不要直接用官网的 NVAPI 去取较省事
楼主: checkIO (chec)   2016-10-14 20:36:00
只是想说都有DEMO CODE可以用 而且同事用这段在他电脑上可以取出正确的值 就觉得这个问题很诡异写C++经常会有类似的事情发生吗?
作者: Schottky (顺风相送)   2016-10-14 21:11:00
牵涉到硬件、驱动程式的话常常有灵异现象发生C++ 语言本身的话,遵守置底十三诫就不太会有骚灵现象要使用第三方程式库不是不行,但要判断一下你拿来盖房子的砖头到底是耐高压水泥砖,还是保丽龙空心砖啊...
楼主: checkIO (chec)   2016-10-14 21:58:00
...这样我想问 灵异现象通常大家怎样解决的...
作者: EdisonX (卡卡兽)   2016-10-16 00:08:00
复制别人的环境 @@
作者: Schottky (顺风相送)   2016-10-16 03:05:00
灵异现象吗,你问了一个很难回答的问题 XD没有一定的解法,靠战斗经验吧你以为写驱动程式、主机板 BIOS 的薪水为什么那么高

Links booklink

Contact Us: admin [ a t ] ucptt.com