/Yd(개체 파일에 디버그 정보 삽입)
/Yc 및 /Z7 옵션과 함께 사용할 때 미리 컴파일된 헤더(.pch) 파일에서 만든 모든 개체 파일의 디버깅 정보를 완료합니다. 사용되지 않음.
구문
/Yd
설명
/Yd는 더 이상 사용되지 않습니다. Visual C++는 이제 단일 .pdb 파일에 쓰는 여러 개체를 지원합니다. 대신 /Zi를 사용합니다. 사용되지 않는 컴파일러 옵션 목록은 범주별로 나열된 컴파일러 옵션에서 사용되지 않는 컴파일러 옵션 및 제거된 컴파일러 옵션을 참조하세요.
디버깅 정보가 포함된 라이브러리를 배포할 필요가 없는 경우 /Z7 및 /Yd 대신 /Zi 옵션을 사용합니다.
모든 .obj 파일에 전체 디버깅 정보를 저장하는 것은 디버깅 정보가 포함된 라이브러리를 배포하는 데만 필요합니다. 컴파일 속도가 느려지고 상당한 디스크 공간이 필요합니다. /Yc 및 /Z7을 /Yd 없이 사용하면 컴파일러는 .pch 파일에서 만든 첫 번째 .obj 파일에 공통 디버깅 정보를 저장합니다. 컴파일러는 이후에 .pch 파일에서 만든 .obj 파일에 이 정보를 삽입하지 않습니다. 정보에 대한 상호 참조를 삽입합니다. .pch 파일을 사용하는 .obj 파일 수에 관계없이 하나의 .obj 파일에만 일반적인 디버깅 정보가 포함되어 있습니다.
이 기본 동작으로 인해 빌드 시간이 빨라지고 디스크 공간 요구가 줄어들지만, 작은 변경으로 인해 일반적인 디버깅 정보가 포함된 .obj 파일을 다시 빌드해야 하는 경우에는 바람직하지 않습니다. 이 경우 컴파일러는 원래 .obj 파일에 대한 상호 참조를 포함하는 모든 .obj 파일을 다시 빌드해야 합니다. 또한 여러 프로젝트에서 공통 .pch 파일을 사용하는 경우 단일 .obj 파일에 대한 상호 참조에 의존하기가 어렵습니다.
미리 컴파일된 헤더에 대한 자세한 내용은 다음을 참조하세요.
Visual Studio 개발 환경에서 이 컴파일러 옵션을 설정하려면
프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 Visual Studio에서 C++ 컴파일러 및 빌드 속성 설정을 참조하세요.
구성 속성>C/C++>명령줄 속성 페이지를 선택합니다.
추가 옵션 상자에 컴파일러 옵션을 입력합니다.
프로그래밍 방식으로 이 컴파일러 옵션을 설정하려면
- AdditionalOptions을(를) 참조하세요.
예제
다음 #include 문을 포함하는 두 개의 기본 파일인 F.cpp 및 G.cpp 있다고 가정합니다.
#include "windows.h"
#include "etc.h"
다음 명령은 미리 컴파일된 헤더 파일 ETC.pch 및 개체 파일 F.obj 만듭니다.
CL /YcETC.H /Z7 F.CPP
F.obj 개체 파일에는 WINDOWS.h 및 ETC.h(및 포함되는 다른 헤더 파일)에 대한 형식 및 기호 정보가 포함됩니다. 이제 미리 컴파일된 헤더 ETC.pch를 사용하여 소스 파일 G.cpp 컴파일할 수 있습니다.
CL /YuETC.H /Z7 G.CPP
개체 파일 G.obj 미리 컴파일된 헤더에 대한 디버깅 정보를 포함하지 않고 F.obj 파일에서 해당 정보를 참조하기만 하면 됩니다. F.obj 파일에 연결해야 합니다.
미리 컴파일된 헤더가 /Z7로 컴파일되지 않은 경우에도 /Z7을 사용하여 이후 컴파일에서 사용할 수 있습니다. 그러나 디버깅 정보는 현재 개체 파일에 배치되며 미리 컴파일된 헤더에 정의된 함수 및 형식에 대한 로컬 기호는 디버거에서 사용할 수 없습니다.