Compartilhar via


Exemplo de 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. O int retornar o valor é uma bitmask dos sinalizadores para recursos do processador principal. 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çaObservação sobre segurança

Este código de exemplo destina-se a ilustrar um conceito e mostra somente o código que é relevante para esse conceito. Ele pode não atender aos requisitos de segurança de um ambiente específico e não deve ser usado exatamente como mostrado. Recomendamos que você adicione código de segurança e tratamento de erros para tornar seus projetos tão seguros e robustos quanto for conveniente. A Microsoft fornece este código de exemplo "COMO ESTÁ" e sem garantias.

Para obter exemplos e instruções para instalá-los:

Para acessar exemplos do Visual Studio

  • No menu Ajuda, clique em Exemplos.

    Por padrão, esses exemplos são instalados em unidade:\Arquivos de Programas\Microsoft Visual Studio 10.0\Samples\.

  • Para a versão mais recente do que esse exemplo e uma lista de outros exemplos, consulte Amostras de Visual Studio no site do MSDN.

Criar e executar a amostra.

Para criar e executar esse exemplo.

  1. Abra a solução cpuid.sln.

  2. Do Build menu, clique em Build.

  3. From the Debug menu, select Start Without Debugging.

Exemplo de saída de programa

O exemplo inclui um arquivo de test.cpp que pudesse chama _cpuid e os valores em resultante de saídas _p_info struct. Por exemplo, em um computador Pentium III que suporta 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

Consulte também

Outros recursos

Amostras gerais