Udostępnij za pośrednictwem


Wizualizowanie rozszerzenia makr języka C/C++

Długie makra mogą być trudne do odczytania. Program Visual Studio może teraz rozwinąć makra C i C++. Możesz uzyskać kopię w schowku tego, jak wygląda rozwinięte makro, zastąpić makro wbudowanym rozszerzeniem, a następnie rozwinąć makro krok po kroku, aby zobaczyć, jak wygląda na każdym etapie rozszerzania. W tym artykule poeksperymentujesz ze wszystkimi tymi funkcjami.

Wymagania wstępne

  • Visual Studio w wersji 17.5 lub nowszej

Tworzenie przykładu

  1. Uruchom program Visual Studio 2022 w wersji 17.5 lub nowszej i utwórz aplikację konsolową języka C++.

  2. Zastąp domyślny kod:

    #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;
    }
    

Kopiowanie rozwiniętego makra

Możesz sprawdzić rozszerzoną wartość makra, nawet jeśli jest zaangażowanych kilka kroków preprocesora, wykonując następujące czynności:

  1. Umieść kursor na makrze POWER wewnątrz main() w przykładzie.

  2. Po umieszczeniu wskaźnika myszy na makrze opcje są wyświetlane w obszarze Kopiuj, Rozwiń śródliniowy, Wizualizuj rozszerzenie i Wyszukaj w trybie online:

    Zrzut ekranu przedstawiający okno makr przedstawiający rozszerzenie makra POWER.

    Okno makra jest otwarte w usłudze POWER, aby pokazać, że rozwija się do (((10.0 * 20.0) * (5.0 * 2.0)) / 2.0). Opcje kopiowania, rozwijania wbudowanego, rozszerzania wizualizacji i wyszukiwania w trybie online są wyświetlane w dolnej części okna.

  3. Wybierz pozycję Kopiuj.

  4. Utwórz komentarz po POWER wierszu i wybierz polecenie wklej (CTRL+V). Rozszerzenie makra, jako komentarz w pobliżu makra, wygląda następująco: // (((10.0 * 20.0)* (5.0 * 2.0)) / 2.0). Skrót klawiaturowy dla tej akcji to CTRL+M, CTRL+C.

Rozszerzanie wbudowanego makra

Wykonaj następujące kroki, aby rozwinąć wbudowane makro, które zastępuje makro rozszerzeniem:

  1. Umieść kursor na makrze POWER wewnątrz main() w przykładzie.
  2. Po umieszczeniu kursora na makrze opcje są wyświetlane w pozycji Kopiuj, Rozwiń wbudowane, Wizualizuj rozszerzenie i Wyszukaj w trybie online
  3. Wybierz pozycję Rozwiń wbudowany. Makro POWER() jest zastępowane rozszerzoną wartością: std::cout << "Power: " << (((10.0 * 20.0) * (5.0 * 2.0)) / 2.0) << std::endl;. Skrót klawiaturowy dla tej akcji to CTRL+M, CTRL+I.

Wizualizowanie rozszerzenia makr

Makro można rozwinąć jeden krok naraz. Jest to przydatne, gdy istnieją makra zagnieżdżone i chcesz zobaczyć rozszerzenie krok po kroku. Aby zwizualizować rozszerzenie makra dla WORK makra, wykonaj następujące kroki:

  1. Umieść kursor na makrze WORK wewnątrz main() w przykładzie.

  2. Po umieszczeniu kursora na makrze opcje są wyświetlane w pozycji Kopiuj, Rozwiń śródliniową, Wizualizuj rozszerzenie i Wyszukaj w trybie online.

  3. Wybierz pozycję Wizualizuj rozszerzenie. Skrót klawiaturowy dla tej akcji to CTRL+M, a następnie CTRL+V.

  4. Zostanie wyświetlone okno rozszerzenia makra. Pierwsze rozszerzenie makra WORK jest widoczne: : (FORCE() * DISTANCE())

    Zrzut ekranu przedstawiający okno rozszerzania makr, które umożliwia przejście przez rozszerzenie makra WORK o jeden krok naraz.

    Okno wizualizacji makra jest otwarte w obszarze FORCE, aby pokazać, że początkowo rozwija się do (FORCE()*DISTANCE()). W oknie znajdują się pojedyncze nawiasy kątowe umożliwiające przechodzenie do przodu i do tyłu pojedyncze rozszerzenie naraz. Nawiasy dwukątne w pełni rozszerzają lub w pełni cofają rozszerzenie makra.

  5. Kliknij prawy nawias kątowy, aby rozwinąć FORCE makro. W oknie jest teraz wyświetlane FORCE rozszerzenie makra: (MASS * ACCELERATION) * DISTANCE().

  6. Kliknij prawy nawias kątowy, aby rozwinąć kolejny krok. W oknie jest teraz wyświetlane FORCE rozszerzenie makra: ((10.0 * ACCELERATION) * DISTANCE()).

Kontynuuj rozszerzanie makra, aby zobaczyć pełne rozszerzenie WORK makra, czyli : ((10.0 * 20.0) * (5.0 * 2.0)). Możesz użyć nawiasów dwukątnych, aby w pełni rozwinąć makro lub odwrócić rozszerzenie do pierwszego poziomu rozszerzenia.

Zobacz też

Wyświetlanie makr UE w programie Visual Studio