Partager via


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

Mise à jour : novembre 2007

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é :

Cet exemple de code est fourni pour illustrer un concept et ne doit pas être utilisé dans des applications ou des sites Web, car il peut ne pas illustrer les pratiques de programmation les plus sûres. Microsoft n'assume aucune responsabilité pour tout dommage indirect ou consécutif en cas d'utilisation de l'exemple de code à des fins autres que celles prévues.

Pour obtenir des exemples et des instructions d'installation :

  • Dans le menu Aide de Visual Studio, cliquez sur Exemples.

    Pour plus d'informations, consultez Recherche des fichiers d'exemple.

  • La liste la plus récente et la plus complète d'exemples est disponible en ligne à partir de la page d'exemples Visual Studio 2008 (en anglais).

  • Des exemples sont également disponibles sur le disque dur de votre ordinateur. Par défaut, des exemples et un fichier Readme sont copiés dans un dossier sous \Program Files\Visual Studio 9.0\Samples\. Pour les éditions Express de Visual Studio, tous les exemples sont accessibles en ligne.

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