다음을 통해 공유


ATL 프로젝트에서 CRT에 링크

CRT(C 런타임 라이브러리)는 ATL 개발 중에 프로그래밍을 훨씬 쉽게 수행할 수 있는 많은 유용한 함수를 제공합니다. 모든 ATL 프로젝트는 CRT 라이브러리에 연결됩니다. CRT에 연결하는 데 사용되는 메서드의 이점 및 장단점에서 연결 방법의 장점과 단점을 확인할 수 있습니다.

프로그램 이미지에서 CRT에 연결의 효과

CRT에 정적으로 연결하는 경우 CRT의 코드는 실행 파일 이미지에 배치되며 이미지를 실행하기 위해 시스템에 CRT DLL이 있을 필요가 없습니다. CRT에 동적으로 연결하는 경우 CRT DLL의 코드에 대한 참조는 이미지에 배치되지만 코드 자체는 배치되지 않습니다. 이미지가 지정된 시스템에서 실행되려면 해당 시스템에 CRT DLL이 있어야 합니다. CRT에 동적으로 연결하는 경우에도 일부 코드가 정적으로 연결될 수 있습니다(예 DllMainCRTStartup: ).

이미지를 연결할 때 이미지를 로드한 후 운영 체제에서 호출할 진입점을 명시적으로 또는 암시적으로 지정합니다. DLL의 경우 기본 진입점은 .입니다 DllMainCRTStartup. EXE의 경우입니다 WinMainCRTStartup. /ENTRY 링커 옵션을 사용하여 기본값을 재정의할 수 있습니다. CRT는 , WinMainCRTStartupwWinMainCRTStartup (EXE의 유니코드 진입점)에 대한 구현DllMainCRTStartup을 제공합니다. 이러한 CRT 제공 진입점은 전역 개체에서 생성자를 호출하고 일부 CRT 함수에서 사용되는 다른 데이터 구조를 초기화합니다. 이 시작 코드는 정적으로 연결된 경우 이미지에 약 25K를 추가합니다. 동적으로 연결된 경우 대부분의 코드는 DLL에 있으므로 이미지 크기는 작게 유지됩니다.

자세한 내용은 링커 항목 /ENTRY(진입점 기호)을 참조하세요.

최적화 옵션

링커 옵션 /OPT:NOWIN98 사용하면 Windows 98 시스템의 로드 시간이 늘어나면 기본 ATL 컨트롤을 10K까지 줄일 수 있습니다. 연결 옵션에 대한 자세한 내용은 /OPT(최적화)를 참조하세요.

참고 항목

ATL 및 C 런타임 코드를 사용한 프로그래밍
DLL 및 Visual C++ 런타임 라이브러리 동작