我是 libpci
的新手。我写了一个 C 程序,它可以检测 GPU 并给出它的 vendor_id
和 device_id
。现在我不知道是否可以使用 libpci
从其 ID 中获取 vendor_name
。
vendor = pci_lookup_name(pci_access, buffer, sizeof(buffer), PCI_LOOKUP_VENDOR, radeon->vendor);
我写了这段代码,但它似乎不起作用。帮助我,提供一些文档,非常感谢。 :)
文档
该库的文档似乎参差不齐。
Linux 上的
lspci
使用它来填充它的 pci 信息,所以我建议如下: * lspci source code * pci.h
头文件(安装 libpci-dev 后,在 ubuntu 上位于 /usr/include/pci/pci.h
)
您的代码
就您的代码而言,您似乎缺少 va_args 末尾的设备 ID。不确定为什么需要它,但它记录在 pci.h
中。
试试这个:
vendor = pci_lookup_name(pci_access, buffer, sizeof(buffer), PCI_LOOKUP_VENDOR, radeon->vendor_id, radeon->device_id);
This看起来像 lspci
source
中的相关行
我是一名优秀的程序员,十分优秀!