Freigeben über


Visualisieren der C/C++-Makroerweiterung

Lange Makros können schwer zu lesen sein. Visual Studio kann jetzt C- und C++-Makros erweitern. Sie können eine Kopie des erweiterten Makros in der Zwischenablage erhalten, das Makro Inline- durch seine Erweiterung ersetzen und ein Makro Schritt für Schritt erweitern, um zu sehen, wie es in jeder Phase der Erweiterung aussieht. In diesem Artikel experimentieren Sie mit all diesen Funktionen.

Voraussetzungen

  • Visual Studio Version 17.5 oder höher

Erstellen Sie die Stichprobe

  1. Starten Sie Visual Studio 2022, Version 17.5 oder später, und erstellen Sie eine C++-Konsolen-App.

  2. Ersetzen Sie den Standardcode mit:

    #include <iostream>
    
    #define MASS 10.0
    #define ACCELERATION 20.0
    #define SPEED 5.0
    #define TIME 2.0
    #define DISTANCE() (SPEED * TIME)
    #define FORCE()(MASS * ACCELERATION)
    #define WORK()(FORCE() * DISTANCE())
    #define POWER()(WORK()/TIME)
    
    int main()
    {
        std::cout << "Distance: " << DISTANCE() << std::endl;
        std::cout << "Force: " << FORCE() << std::endl;
        std::cout << "Work: " << WORK() << std::endl;
        std::cout << "Power: " << POWER() << std::endl;
    }
    

Kopieren eines erweiterten Makros

Sie können den erweiterten Wert eines Makros überprüfen, selbst wenn mehrere Präprozessor-Schritte beteiligt sind, indem Sie den folgenden Schritten folgen:

  1. Bereich Sie den Cursor auf das POWER-Makro innerhalb von main() im Codebeispiel.

  2. Wenn Sie auf das Makro darauf zeigen, erscheinen Optionen zum „Kopieren“, „Inline-erweitern“, „Visualisierung der Erweiterung“ und „Online suchen“:

    Screenshot des Makrofensters, das die Leistung-Makro-Erweiterung zeigt.

    Das Makrofenster ist offen auf Ein/Aus, um zu zeigen, dass es sich zu (((10,0 * 20,0) * (5,0 * 2,0)) / 2,0) erweitert. Optionen zum Kopieren, Inline-Erweitern, zur visuellen Erweiterung und zur Online-Suche erscheinen am unteren Rand des Fensters.

  3. Wählen Sie kopieren aus.

  4. Erstellen Sie einen Kommentar nach der POWER Zeile und wählen Sie einfügen (STRG+V). Die Erweiterung des Makros, als Kommentar in der Nähe Ihres Makros, sieht folgendermaßen aus: // (((10.0 * 20.0)* (5.0 * 2.0)) / 2.0)Quelle: . Die Tastenkombination für diese Aktion ist STRG+M, STRG+C.

Makro Inline- erweitern

Verwenden Sie die folgenden Schritte, um ein Makro Inline zu erweitern, wodurch das Makro durch seine Erweiterung ersetzt wird:

  1. Bereich Sie den Cursor auf das POWER-Makro innerhalb von main() im Codebeispiel.
  2. Wenn Sie auf das Makro darauf zeigen, erscheinen Optionen zum „Kopieren“, „Inline-erweitern“, „Visualisierung der Erweiterung“ und „Online suchen“.
  3. Wählen Sie „Erweitern Inline“. Das POWER() Makro wird durch seinen erweiterten Wert ersetzt: std::cout << "Power: " << (((10.0 * 20.0) * (5.0 * 2.0)) / 2.0) << std::endl;Quelle: . Die Tastenkombination für diese Aktion ist STRG+M, STRG+I.

Visualisieren der Makroerweiterung

Sie können ein Makro Schritt für Schritt erweitern. Dies ist nützlich, wenn es geschachtelte Makros gibt und Sie die Erweiterung Schritt für Schritt sehen möchten. Um die Makroerweiterung für das WORK Makro zu visualisieren, verwenden Sie die folgenden Schritte:

  1. Setzen Sie den Cursor auf das WORK-Makro innerhalb von main() im Codebeispiel.

  2. Wenn Sie auf das Makro darauf zeigen, erscheinen Optionen zum „Kopieren“, „Inline-erweitern“, „Visualisierung der Erweiterung“ und „Online suchen“.

  3. Wählen Sie „Visualisieren der Erweiterung“. Die Tastenkombination für diese Aktion ist STRG+M gefolgt von STRG+V.

  4. Das Makrofenster erscheint. Die erste Erweiterung des WORK Makros ist sichtbar: (FORCE() * DISTANCE()):

    Screenshot des Makroerweiterungsfensters, das es Ihnen ermöglicht, die Geschäftlich-Makroerweiterung Schritt für Schritt durchzugehen.

    Das Makrofenster zur Visualisierung ist auf FORCE offen, um zu zeigen, dass es sich anfänglich zu (FORCE()*DISTANCE()) erweitert. Im Fenster gibt es einzelne spitze Klammern, um eine Erweiterung nach der anderen weiterzuleiten oder zurückzuleiten. Die doppelten spitzen Klammern erweitern das Makro vollständig oder machen die Makroerweiterung vollständig rückgängig.

  5. Klicken Sie auf das Größer-als-Zeichen, um das FORCE-Makro zu erweitern. Das Fenster zeigt jetzt die FORCE Makroerweiterung: (MASS * ACCELERATION) * DISTANCE()Quelle: .

  6. Klicken Sie auf das Größer-als-Zeichen, um einen weiteren Schritt zu erweitern. Das Fenster zeigt jetzt die FORCE Makroerweiterung: ((10.0 * ACCELERATION) * DISTANCE())Quelle: .

Erweitern Sie das Makro weiter, um die vollständige Erweiterung des „WORK“-Makros zu sehen, die lautet: ((10.0 * 20.0) * (5.0 * 2.0))Quelle: . Sie können die doppelten spitzen Klammern verwenden, um das Makro vollständig zu erweitern oder die Erweiterung auf die erste Ebene zurückzusetzen.

Weitere Informationen

Sicht UE-Makros in Visual Studio