다음을 통해 공유


Visual Studio에서 C++ 포함 진단

Visual Studio 17.8부터 Visual Studio는 C++ #include 파일을 분석하는 데 도움이 됩니다.

  • 각 헤더 파일의 항목이 사용되는 빈도와 위치를 표시합니다.
  • #include 파일의 빌드 시간을 표시합니다. 이를 통해 빌드 시간을 최적화할 수 있는 기회를 식별할 수 있습니다.

C++ 진단 및 CodeLens 포함 사용

C++ 진단 포함 기능은 기본적으로 해제되어 있습니다. 이를 켜려면 코드 편집기를 마우스 오른쪽 단추로 클릭하여 상황에 맞는 메뉴를 표시하고 지시문>포함 #include 진단 켜기를 선택합니다.

코드 편집기 영역에서 마우스 오른쪽 단추를 클릭할 때 나타나는 상황에 맞는 메뉴의 스크린샷.

상황에 맞는 메뉴는 강조 표시된 include 지시문 옵션을 보여 줍니다. 여기에는 정렬 # include 지시문과 턴 # include 진단의 두 가지 옵션이 표시됩니다.

파일에 대한 #include 정보는 CodeLens를 통해 표시되며 기본적으로 해제되어 있습니다. 관련 CodeLens 설정을 켜려면 도구>옵션>텍스트 편집기>모든 언어 CodeLens>로 이동하고 C++ #include 참조 표시 및 C++ 컴파일 시간 표시가 사용하도록 설정되어 있는지 확인합니다.

옵션 창의 스크린샷.

옵션 창은 모든 언어 > CodeLens에 > 텍스트 편집기로 설정됩니다. C++ # 포함 참조 및 C++ 컴파일 시간 표시 옵션이 강조 표시됩니다.

참조 보기 #include

진단 포함을 시도하려면 새 C++ 콘솔 프로젝트를 만듭니다. 주 .cpp 파일의 내용을 다음 코드로 바꿉니다.

#include <iostream>
#include <vector>

// a function that takes a vector of integers and prints them out
void print(std::vector<int> &vec)
{
    for (int i : vec)
    {
        std::cout << i << std::endl;
    }
    std::cout << std::endl;
}

// a function that takes a vector of integers and adds 10 to each element of the vector and store the result in a new vector
std::vector<int> add10(std::vector<int>& vec)
{
    std::vector<int> newVec;
    for (int i : vec)
    {
        newVec.push_back(i + 10);
    }
    return newVec;
}

int main()
{
    std::vector<int> vec = { 7, 5, 16, 8 };

    print(vec);
    auto newVec = add10(vec);
    print(newVec); 
}

C++ 진단 포함이 설정되면 헤더 파일의 코드가 현재 코드 파일에서 참조되는 횟수가 헤더 파일 위에 표시됩니다. 이전 코드 샘플에서는 다음과 같습니다.

6 references
#include <iostream>
5 references
#include <vector>

코드 편집기에서 위의 #include <vector> 참조 5개와 이 파일에서 <vector> 코드가 사용되는 위치의 요약을 선택합니다.

벡터 헤더 파일의 코드가 사용되는 위치를 보여 주는 C++ 진단 포함 컨텍스트 창의 스크린샷

C++ 진단 포함 컨텍스트 창에는 현재 코드 파일에서 벡터 헤더 파일의 코드가 사용되는 5개의 위치가 코드에 있음을 보여 줍니다. 예를 들어 add10 함수 정의에서 반환 값 및 매개 변수로 두 번 사용됩니다. newVec 선언의 줄 17에서 사용됩니다.

코드에서 항목을 선택하여 해당 위치로 이동합니다.

빌드 시간 보기 #include

각 파일에 #include대한 빌드 시간을 보려면 먼저 Build Insights를 사용하여 빌드합니다.

솔루션> 빌드에서 빌드 실행 빌드 인사이트를 선택하여 >주 메뉴 모음에서 Build Insights를 켭니다. 빌드가 완료되면 컴파일된 다양한 파일의 빌드 시간을 나열하는 창이 나타납니다. 소스 코드 창으로 돌아가면 각 #include 파일에 대한 빌드 시간이 CodeLens에 표시됩니다. 다음과 비슷합니다.

6 references | Build: 0.3560s
#include <iostream>
5 references | Build 0.0360s
#include <vector>

자주 사용되지 않지만 컴파일 시간에 큰 영향을 주는 지시문이 있는 경우 #include 이 도구를 사용하여 식별할 수 있습니다.

이 문서에서는 C++ 진단 및 CodeLens 포함을 켜는 방법과 C++ 포함 진단을 사용하여 포함 파일의 항목이 사용되는 빈도와 #include 빌드 시간에 미치는 영향을 분석하는 방법을 살펴보았습니다.

참고 항목

C/C++ 정리 포함 개요
정리 메시지 포함