我的最终目标是在NVAPI中查询gpu的使用情况以及python中的其他统计信息。参见http://developer.nvidia.com/nvapi

from ctypes import WinDLL
nvapi = WinDLL("nvapi.dll")
print nvapi# <WinDLL 'nvapi.dll', handle 718a0000 at 27c0050>
print nvapi.nvapi_QueryInterface# <_FuncPtr object at 0x026D8E40>
print nvapi.nvapi_QueryInterface()# returns 0
print nvapi.NvAPI_Initialize# AttributeError: function 'NvAPI_Initialize' not found
print nvapi.NvAPI_SYS_GetChipSetInfo# AttributeError: function 'NvAPI_SYS_GetChipSetInfo' not found

这是可从上面的链接下载的头文件的副本:http://paste.pound-python.org/show/7337/

在这一点上,我只是想使自己熟悉api ...所以我在做什么错?我不知道如何调用头文件中列出的任何函数。

最佳答案

摘自您的评论:



不会从动态库nvapi.dll中导出NvAPI_Initialize。它是NVIDIA SDK附带的静态库nvapi.lib中包含的符号,因此也难怪您无法使用Python调用它。

老实说,这里最简单的方法是用C创建一个小的包装DLL,静态链接到nvapi.lib并向Python公开一个友好的接口(interface)。

关于python - python ctypes和nvapi的帮助,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6163770/

10-14 17:39
查看更多