2017-12-29 74 views
0

영어로 죄송합니다.프로그래밍 초보자의 관점에서 Universal Windows Platform/Qt/...와 같은 다른 것들을 배우는 데 유용한 Win32 API를 배우고 있습니까?

두 달 전 프로그래밍에 대한 초보자였으며 C++과 MFC를 배울 수있는 기회를 얻었습니다. 나는 MFC의 전문가가되는 것을 목표로하지 않으며 내가 찾고있는 것은 내 직업 (MFC)을 다루는 데 도움이 될 수있는 것이고 나의 미래 경력에 도움이 될 수있다. Win32 API에 대한 확실한 이해가 MFC의 중요한 전제 조건이라는 몇 가지 권고 사항을 읽었습니다. 하지만 Charles Petzold의 프로그래밍 Windows은 너무 오래된 것으로 나타났습니다.

그래서 초보자의 입장에서 볼 때 가치가있는 Win32 API는 궁금합니다. 또는 더 구체적으로, Win32 API가 Qt/UWP/웹 프로그래밍 /과 같은 다른 것들을 배우는데 도움이되는지 배우고 있습니까? 내 요구에 맞는 Win32 API에 대한 대안이 있습니까? 어떤 제안이라도 환영합니다. 고맙습니다!

+0

정말 화제가 아닙니다. 하지만 요즘은 Win32 지식이 필요한 직업을 찾지 못할 것이라고 말하고 싶습니다. 그렇지만 기본 라이브러리에 대한 이해가 더 높은 수준의 라이브러리로 프로그래밍하는 경우에도 유용 할 것이라고 생각합니다. –

+1

Qt 또는 .NET과 같은 상위 수준의 프레임 워크를 사용하는 경우에도 때때로 프레임 워크의 한계를 해결하거나 (아직) 프레임 워크가 아닌 출혈 가장자리 OS 기능을 지원하려면 기본 API를 사용해야합니다. 프레임 워크에 싸서. MFC는 많은 경우 Win32 API를 둘러싼 단순한 래퍼이므로, "실제"API를 알고 있다면 MFC를 더 잘 이해할 수 있습니다. 때때로 순수 Win32 API에 테스트 코드를 작성하여 MFC를 오류의 원인으로 제거하는 것이 유용합니다. – zett42

+0

Petzold의 책이 오래되었습니다. 그러나 Win32도 그렇습니다. 이 책은 그 어느 때보 다 귀중합니다. –

답변

1

필자는 Win32 API를 배우는 것이 가치 있다고 말하고 싶지만 C++/MFC 응용 프로그램을 지원하지는 않을 것입니다. 이 기회를 소중한 훈련 운동으로 사용하고 계속 나아 간다.

Win32 API를 알면 Windows에서 호스팅되는 응용 프로그램을 빌드하는 고급 언어의 내용을보다 잘 이해할 수 있습니다. 현재 예제는 .NET (특히 C#)이지만 Visual C++/MFC, Borland Builder, Delphi 등은 모두 Win32 API에 의존하고 있습니다. Win32 API 프로그래밍은 다른 언어로 추상화 된 Windows 메시지 펌프/루프, 핸들, 드로잉 등과 같은 개념에 당신을 노출시킵니다.

Windows 메시지 루프를 이해하면 C++로 작성된 객체 지향 프레임 워크와 Windows 메시지 루프를 캡슐화하는 많은 불행한 매크로가있는 MFC에 도움이됩니다.

Win32 API를 알고 있으면 .NET에서 호출해야하는 상황에서 도움이 될 것입니다. API를 알면 프록시 기능을 쉽게 작성 및/또는 이해할 수 있습니다. 크로스 플랫폼 지원으로 인해 이전 버전에서는 Windows 기능 중 일부가 생략 되었기 때문에 .NET 핵심에서는 훨씬 더 중요합니다. 따라서 은 이전 버전의 .NET (pre core)에 있던 항목을 지원하기 위해 Win32 API에 PInvoke하는을가집니다.

사용중인 많은 MFC 응용 프로그램이 있으므로이 라이브러리와 Visual C++가 미래에 $$$에 대한 이러한 응용 프로그램을 지원하거나 이식하는 데 도움이 될 수 있음을 알고 있습니다.

또한 David Kruglinski의 Visual C++ 서적을 선택하십시오. 그것은 MFC를 배우는 데 매우 귀중합니다.