/INCREMENTAL(증분 링크)
업데이트: 2007년 11월
/INCREMENTAL[:NO]
설명
/INCREMENTAL 옵션을 사용하여 링커에서 증분 링크를 처리하는 방법을 제어할 수 있습니다.
기본적으로 링커는 증분 모드에서 실행됩니다. 기본 증분 링크를 무시하려면 /INCREMENTAL:NO를 지정합니다.
증분 링크된 프로그램은 비증분 링크된 프로그램과 기능적으로 동등합니다. 그러나 후속 증분 링크에 대비하기 때문에 증분 링크된 실행 파일(.exe)이나 DLL(동적 연결 라이브러리)은 다음과 같은 특징을 갖습니다.
코드와 데이터를 패딩하기 때문에 비증분 링크된 프로그램보다 크기가 큽니다. 패딩으로 인해 링커에서는 .exe 파일을 다시 만들지 않고도 함수와 데이터의 크기를 늘릴 수 있습니다.
함수를 새 주소로 재배치하는 것을 처리하기 위해 점프 썽크를 포함할 수 있습니다.
참고: 최종 릴리스 빌드에 패딩이나 썽크를 포함시키지 않으려면 프로그램을 비증분 링크합니다.
기본값에 상관 없이 증분 링크하려면 /INCREMENTAL을 지정합니다. 이 옵션을 선택하면 링커에서는 프로그램을 증분 링크할 수 없는 경우 경고를 표시한 다음 비증분 링크합니다. 특정 옵션을 사용하는 때나 특정 경우에는 /INCREMENTAL이 무시됩니다.
대부분의 프로그램은 증분 링크될 수 있습니다. 그러나 일부 변경 사항이 너무 크면 일부 옵션이 증분 링크와 호환되지 않습니다. LINK에서는 다음 옵션 중 하나가 지정되어 있으면 전체 링크를 수행합니다.
증분 링크를 선택하지 않은 경우(/INCREMENTAL:NO)
/OPT:REF를 선택한 경우
/OPT:ICF를 선택한 경우
/ORDER를 선택한 경우
/DEBUG를 지정하면 /INCREMENTAL도 지정됩니다.
또한 LINK에서는 다음과 같은 경우에 전체 링크를 수행합니다.
증분 상태 파일(.ilk)이 없는 경우. 이 경우 LINK에서는 후속 증분 링크에 사용할 새 .ilk 파일을 만듭니다.
.ilk 파일에 대한 쓰기 권한이 없는 경우. 이 경우 LINK에서는 .ilk를 무시하고 비증분 링크를 수행합니다.
.exe 또는 .dll 출력 파일이 없는 경우
.ilk, .exe, .dll의 타임스탬프가 변경된 경우
LINK 옵션이 변경된 경우. 대부분의 LINK 옵션은 각 빌드 간에 변경된 경우 전체 링크를 수행합니다.
개체 파일(.obj)이 추가되거나 생략된 경우
/Yu /Z7 옵션을 사용하여 컴파일된 개체가 변경된 경우
Visual Studio 개발 환경에서 이 링커 옵션을 설정하려면
프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 Visual C++ 프로젝트 속성 설정을 참조하십시오.
링커 폴더를 클릭합니다.
일반 속성 페이지를 클릭합니다.
증분 링크 사용 속성을 수정합니다.
프로그래밍 방식으로 이 링커 옵션을 설정하려면
- LinkIncremental을 참조하십시오.