Partager via


CPUID, exemple : détermine les capacités de l'unité centrale

L'exemple CPUID fournit une routine qui utilise l'instruction CPUID pour déterminer les capacités de l'unité centrale utilisée.

Cet exemple met en œuvre la fonction int _cpuid(_p_info *pinfo) qui retourne des données concernant l'unité centrale. La valeur de retour de int est un masque de bits fournissant des indicateurs pour les principales fonctionnalités du processeur. Les bits suivants peuvent être définis :

  • #define _CPU_FEATURE_MMX 0x0001

  • #define _CPU_FEATURE_SSE 0x0002

  • #define _CPU_FEATURE_SSE2 0x0004

  • #define _CPU_FEATURE_3DNOW 0x0008

Note de sécuritéNote de sécurité

Cet exemple de code est destiné à illustrer un concept ; il présente uniquement le code qui se rapporte spécifiquement à ce concept. Il est possible qu'il ne réponde pas aux exigences de sécurité d'un environnement spécifique, et ne doit pas être utilisé exactement comme indiqué. Nous vous recommandons d'ajouter du code de sécurité et de gestion des erreurs afin de renforcer la sécurité et la fiabilité de vos projets. Microsoft fournit cet exemple de code « EN L'ÉTAT » sans aucune garantie.

Pour obtenir des exemples et des instructions d'installation :

Pour accéder aux exemples de Visual Studio

  • Dans le menu Aide, cliquez sur Exemples.

    Par défaut, ces exemples sont installés sous lecteur:\Program Files\Microsoft Visual Studio 10.0\Samples\.

Génération et exécution de l'exemple

Pour générer et exécuter cet exemple

  1. Ouvrez la solution cpuid.sln.

  2. Dans le menu Générer, cliquez sur Générer.

  3. Dans le menu Déboguer, sélectionnez Exécuter sans débogage.

Résultat de l'exemple

Cet exemple comprend un fichier test.cpp qui appelle simplement _cpuid et renvoie les valeurs du struct _p_info résultant. Par exemple, sur un ordinateur Pentium III qui prend en charge MMX et SSE, le résultat du programme ressemblerait à ceci :

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

Voir aussi

Autres ressources

Exemples généraux