Freigeben über


CPUID-Beispiel: Bestimmt die CPU-Funktionalität

Das CPUID-Beispiel stellt eine Routine zur Verfügung, die die Funktionen der gerade ausgeführten CPU anhand des CPUID-Befehls ermittelt.

Es enthält die Funktion int _cpuid(_p_info *pinfo), die Daten über die CPU zurückgibt. Der int-Rückgabewert ist eine Bitmaske aus Flags für die wichtigsten Prozessorfeatures. Folgende Bits können festgelegt werden:

  • #define _CPU_FEATURE_MMX 0x0001

  • #define _CPU_FEATURE_SSE 0x0002

  • #define _CPU_FEATURE_SSE2 0x0004

  • #define _CPU_FEATURE_3DNOW 0x0008

SicherheitshinweisSicherheitshinweis

Dieser Beispielcode soll lediglich ein Konzept veranschaulichen. Es wird nur der für das jeweilige Konzept relevante Code dargestellt. Möglicherweise erfüllt dieser nicht die Sicherheitsanforderungen für eine bestimmte Umgebung, und er sollte nicht genau wie dargestellt verwendet werden. Wir empfehlen, Sicherheits- und Fehlerbehandlungscode hinzuzufügen, um Ihre Projekte sicherer und stabiler zu machen. Microsoft stellt diesen Beispielcode "wie besehen" und ohne Garantien zur Verfügung.

So rufen Sie Beispiele und Anweisungen für ihre Installation ab

So greifen Sie auf Beispiele aus Visual Studio zu

  • Klicken Sie im Menü Hilfe auf Beispiele.

    Standardmäßig werden diese Beispiele unter Laufwerkbuchstabe:\Programme\Microsoft Visual Studio 10.0\Samples\ installiert.

  • Eine aktuelle Version dieses Beispiels und eine Liste anderer Beispiele finden Sie unter Visual Studio Samples auf der MSDN-Website.

Erstellen und Ausführen des Beispiels

So erstellen Sie dieses Beispiel und führen es aus

  1. Öffnen Sie die Projektmappe cpuid.sln.

  2. Klicken Sie im Menü Erstellen auf die Option Erstellen.

  3. Wählen Sie im Menü Debuggen die Option Starten ohne Debuggen.

Beispiel für eine Programmausgabe

Das Beispiel enthält eine Datei mit der Bezeichnung test.cpp, die auf einfache Art und Weise _cpuid aufruft und die Werte in der resultierenden _p_info-Struktur ausgibt. Die Programmausgabe auf einem Pentium III-Computer, der MMX und SSE unterstützt, würde z. B. ungefähr wie folgt aussehen:

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

Siehe auch

Weitere Ressourcen

Allgemeine Beispiele