Exemplo do CPUID: Determina os recursos de CPU
O exemplo CPUID fornece uma rotina que usa a instrução CPUID para determinar os recursos da CPU que está sendo executado.
O exemplo fornece a função int _cpuid(_p_info *pinfo), que retorna dados sobre a CPU. The int valor retornado é uma bitmask dos sinalizadores de recursos principais do processador. Os bits que podem ser definidos são:
#define _CPU_FEATURE_MMX 0x0001
#define _CPU_FEATURE_SSE 0x0002
#define _CPU_FEATURE_SSE2 0x0004
#define _CPU_FEATURE_3DNOW 0x0008
Observação de segurança: |
---|
Este código de exemplo é fornecido para ilustrar um conceito e não deve ser usado em aplicativos ou sites da Web, pois ele não pode ilustrar sistema autônomo práticas de codificação mais seguras.Microsoft sistema autônomo sumes nenhuma responsabilidade por danos incidentais ou conseqüenciais deve o código de exemplo ser usado para fins diferentes de sistema autônomo se destina. |
Para obter exemplos e instruções para instalá-los:
Sobre o Visual Studio Ajuda menu, clicar Exemplos.
Para obter mais informações, consulte Localizando arquivos de exemplo.
A versão mais recente e a lista completa das Exemplos está disponível online a partir de O Visual Studio 2008 Exemplos página.
Você também pode localizar exemplos no disco rígido do seu computador.Por padrão, exemplos e um arquivo Leiame são copiados para uma pasta sob \programa Files\Visual Studio 9.0\Samples\.Para edições Express do Visual Studio, todos os exemplos estão localizados online.
Criando e executando o exemplo
Para compilação e executar esse exemplo
Abra a solução cpuid.sln.
From a Compilação menu, clicar Compilação.
No menu Debug, selecione Start Without Debugging.
Saída do programa de exemplo
O exemplo inclui um arquivo teste.cpp que chama muito _cpuid e os valores em resultante de saídas _p_info struct. Por exemplo, em um computador Pentium III que oferece suporte a MMX e SSE, a saída do programa teria esta aparência:
C:\work\cpuid>test
v_name: GenuineIntel
model: INTEL Pentium-III
family: 6
model: 8
stepping: 3
feature: 00000003
yes _CPU_FEATURE_MMX
yes _CPU_FEATURE_SSE
no _CPU_FEATURE_SSE2
no _CPU_FEATURE_3DNOW
os_support: 00000003
yes _CPU_FEATURE_MMX
yes _CPU_FEATURE_SSE
no _CPU_FEATURE_SSE2
no _CPU_FEATURE_3DNOW
checks: 0000000f