O que faz o arquivo cpuid.h?

0

Estou tentando construir o GLIBC 2.14 a partir da fonte. Eu continuo recebendo a mensagem de erro que cpuid.h não foi encontrado.

O que esse arquivo contém e a que finalidade ele é veiculado?

Eu vi que cpuid.h é colocado em dois locais diferentes, por exemplo.

/usr/lib/gcc/x86_64-redhat-linux/4.3.0/include/cpuid.h
/usr/src/kernels/2.6.25-14.fc9.x86_64/include/config/x86/cpuid.h

Também vi que esses dois arquivos são diferentes executando um diff simples e me diz que -:

diff --brief /usr/lib/gcc/x86_64-redhat-linux/4.3.0/include/cpuid.h /usr/src/kernels/2.6.25-14.fc9.x86_64/include/config/x86/cpuid.h
Files /usr/lib/gcc/x86_64-redhat-linux/4.3.0/include/cpuid.h and /usr/src/kernels/2.6.25-14.fc9.x86_64/include/config/x86/cpuid.h differ

O que é o cpuid.h, o que ele normalmente contém e a que finalidade ele serve?

    
por Kramer786 29.05.2016 / 22:19

1 resposta

0

cpuid.h contém definições de fragmentos de linguagem assembly para obter informações de baixo nível de determinadas CPUs, além de nomes para várias constantes numéricas que um programa pode usar para descobrir em que tipo de CPU estava sendo executado e quais recursos Estão disponíveis. (Por exemplo, se o programa quisesse usar instruções especiais de matriz-matricial disponíveis em algumas CPUs, ele poderia verificar se as instruções estavam disponíveis antes de tentar usá-las. Se o programa estivesse rodando em uma CPU mais antiga, poderia usar emulação de software essas instruções em vez disso.)

A maneira rápida e simples de avançar no seu projeto de compilação é apenas copiar um dos arquivos cpuid.h encontrados em um local onde o compilador possa encontrá-lo. (Talvez tente cp /usr/lib/gcc/x86_64-redhat-linux/4.3.0/include/cpuid.h /usr/include ) Pode não ser o arquivo correto para a sua CPU, mas a maioria das rotinas de biblioteca não precisa das informações do cpuid de qualquer maneira, então ele pode fazer um progresso útil. No entanto, a biblioteca que você cria pode não funcionar em 100% dos lugares que você espera, se você tiver uma função que tente pesquisar informações da CPU.

    
por 29.05.2016 / 22:40

Tags