메이크파일

이 시리즈의 각 코드 샘플에 대한 메이크파일은 일반적인 Microsoft Win32 메이크파일이며 명령 프롬프트 창에서 빌드됩니다. Microsoft 컴파일러 및 링커 도구를 가정하고 다른 도구를 사용하려면 일부 수정이 필요할 수 있습니다. 대부분의 컴파일러/링커 명령줄 스위치는 SDK(플랫폼 소프트웨어 개발 키트)에 포함된 Win32.mak 메이크파일 포함 파일에 정의된 매크로에 의해 지정됩니다.

Makeall.bat 파일 및 각 코드 샘플 메이크파일은 다음 표에 나열된 일반적인 옵션을 지원하여 명령 프롬프트 창에서 호출하여 빌드의 특성을 제어합니다.

Nmake 호출 Makeall 호출 효과
nmake makeall 디버그 정보를 사용하여 컴파일합니다.
nmake nodebug=1 makeall "nodebug=1" 디버그 정보 없이 컴파일합니다.
nmake profile=1 makeall "profile=1" 프로파일링 정보를 사용하여 컴파일합니다.
nmake tune=1 makeall "tune=1" 작업 집합 튜너 정보 사용.
nmake unicode=1 makeall "unicode=1" 유니코드에 대한 컴파일입니다.
nmake clean makeall clean 임시 이진 파일을 삭제합니다.
nmake cleanall makeall cleanall 생성된 모든 파일을 삭제합니다.

 

Makeall.bat 호출의 경우 표시된 대로 따옴표가 있어야 합니다. nodebug, 프로필튜닝 옵션은 상호 배타적입니다. 지정된 컴파일/링크에 해당 옵션 중 하나만 사용하거나 사용하지 않을 수 있습니다. 유니코드 문자열을 사용하여 실행할 샘플을 컴파일하려면 "unicode=1" 옵션을 사용합니다. 기본값은 32비트 Windows 운영 체제에서 실행할 수 있으므로 기존 ANSI 문자열 지원을 위해 컴파일하는 것입니다. Windows Server 2003 이상 및 Windows 2000 이상에서 유니코드를 사용하거나 사용하지 않고 자유롭게 컴파일하고 실행할 수 있습니다. APPUTIL은 별도로 컴파일할 수 있는 다른 코드 샘플과 동일한 옵션을 사용하여 항상 컴파일됩니다. 이는 특히 "unicode=1" 옵션에 해당합니다.

설치된 32비트 C++ IDE(통합 개발 환경)를 사용하여 제공된 제네릭 메이크파일을 사용하여 샘플을 빌드할 수 있습니다. 이렇게 하려면 IDE 내에서 제네릭 메이크파일을 '외부' 메이크파일로 처리해야 합니다. 제공된 메이크파일에는 Microsoft NMAKE 호환 메이크 유틸리티가 필요합니다.

대부분의 C++ IDE는 이러한 메이크파일을 외부로 인식할 수 있지만 여전히 IDE의 많은 편집-빌드-디버그 이점을 제공합니다. 예를 들어 Microsoft Visual Studio 97 이상에서는 파일 메뉴 열기 작업 영역 선택을 사용하여 코드 샘플 Win32 메이크파일의 적절히 명명된 복사본(예: Exeskel.mak)을 열어 작업 영역을 생성할 수 있습니다.