Windows SDK
Windows SDK(Windows Software Development Kit)는 Microsoft가 Microsoft Windows용 응용 프로그램을 제작하도록 제공하는 헤더·라이브러리와 빌드·서명·검사 도구, 샘플의 모음이다. Windows API·Win32 프로그램은 SDK 헤더...
| 정식 명칭 | Windows Software Development Kit |
|---|---|
| 분류 | Windows 응용 프로그램 개발 도구 모음 |
| 개발사 | Microsoft |
| 내용 | Windows API 헤더·라이브러리·도구·샘플 |
| 주요 대상 | Win32·COM·DirectX·Windows App SDK 연계 |
| 대표 도구 | Resource Compiler·SignTool 등 |
| 개발 언어 | C·C++·C# 등 플랫폼별 |
| IDE | Visual Studio 및 독립 SDK |
| 대상 | Windows 클라이언트·Server, 아키텍처별 |
| 버전 | OS 릴리스·SDK 버전별 API 차이 |
| 라이선스 | Microsoft SDK 제공·사용 조건 |
| 공식 자료 | Microsoft: Windows SDK |
| 개발 문서 | Windows App Development |
Windows SDK(Windows Software Development Kit)는 Microsoft가 Microsoft Windows용 응용 프로그램을 제작하도록 제공하는 헤더·라이브러리와 빌드·서명·검사 도구, 샘플의 모음이다. Windows API·Win32 프로그램은 SDK 헤더와 가져오기 라이브러리를 사용해 운영체제 함수·상수·구조체 및 ABI 규약을 참조한다. SDK는 컴파일러나 IDE 전체와 같은 제품은 아니며 Visual Studio 등과 조합해 사용한다.[1]
주요 내용에는 Win32·COM 및 보안·네트워크·파일 시스템 API 선언, Direct3D·DXGI와 HLSL 등 그래픽스 기술의 SDK 파일, 앱 패키징·서명과 리소스 처리용 도구가 있다. 개별 SDK 버전에서 제공되는 API는 Windows 릴리스·컴파일러와 아키텍처에 따라 달라질 수 있다. 최신 SDK를 사용해도 대상 Windows 버전이 지원하지 않는 함수를 무조건 호출할 수 있는 것은 아니다.
개발자는 Visual Studio·CMake 등에서 SDK의 포함 디렉터리·링커 라이브러리와 타깃 버전을 설정한다. 프로그램은 코드 컴파일 뒤 PE/COFF 오브젝트·실행 파일을 생성할 수 있고, 앱 매니페스트·리소스 및 서명 정보를 추가할 수 있다. Windows Driver Kit은 커널·장치 드라이버를 제작하는 목적에 특화되어 있어 일반 Windows SDK와 다르다.
Windows SDK는 Windows 10·11의 Win32 프로그램뿐 아니라 WinRT·UWP와 관련 기술의 개발에 사용됐다. Windows App SDK는 앱 프레임워크와 패키지·WinUI 등 새로운 기능을 별도의 버전으로 제공하며 Windows SDK 자체와 동일한 제품은 아니다. SDK 이용 조건과 개발 도구에 포함된 재배포 가능 라이브러리 조건을 구분해야 한다.[2]