В моей программе, написанной для Linux на C ++, я хотел бы отобразить информацию (включая иерархию устройств) об устройствах PCI системы, выполняющей программу. Есть ли C- или C ++ — Linux-API для этого?
Я смотрю на / sys / devices и / sys / bus / pci / devices. Информация в этих каталогах довольно сырая, и я бы предпочел не реализовывать второй lspci.
Я смотрю на / sys / devices и / sys / bus / pci / devices
Это именно то, откуда вы получаете информацию. Лично я предпочитаю получать такую информацию прямо оттуда. Но вы можете обнаружить, что libudev
соответствует вашим потребностям. Однако имейте в виду, что udev, будучи широко распространенным, может не присутствовать в некоторых системах.