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++ 진단 포함 컨텍스트 창에는 현재 코드 파일에서 벡터 헤더 파일의 코드가 사용되는 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
빌드 시간에 미치는 영향을 분석하는 방법을 살펴보았습니다.