7월, 2016의 게시물 표시

Async/Await/Task를 사용해 가독성이 끝내주는 멀티스레드 코딩하기

이미지
이번 포스트는 동영상으로 대체합니다.   Async/Await과 Task 클래스를 사용해 어떻게 가독성이 좋은 멀티스레딩 코드를 작성하는지 간단하게 기초만 알려드리는 영상입니다.   BackgroundWorker를 대체하기 위해 나온 것이 Async/Await/Task라는데 정말 손색이 없네요. 언제 한 번 회사의 BackgroundWorker로 작성된 오래된 프로젝트를 죄다 Task로 갈아엎고 싶을 정도로요.   처음엔 Async/Await 및 Task 클래스를 사용하는게 굉장히 난해하게 느껴질 수도 있지만, 한 번 이해하고 나면 정말 강력해서 이것만 쓰게 됩니다. 한 번쯤 익혀두시는걸 추천해요.

NMAKE 도중 NtWin32.mak파일을 찾을 수 없다고 뜰 때 해결 방법 (Windows 8 이상)

NMake로 빌드하는데 생소한 에러가 발생했다!   fatal error U1052: file 'NtWin32.mak' not found.  처음 보는 듣도 보도 못한 생소한 빌드 에러입니다. 대충 해석해보면 NtWin32.mak파일을 찾을 수 없어서 치명적인 에러가 발생했다! 정도인데 NtWin32.mak는 대체 무엇이며 왜 찾을 수 없다고 뜨는 것일까요? NtWin32.mak, Win32.mak   해당 파일을 열어보면, NtWin32.mak는 단순히 Win32.mak를 임포트하는 것 이상의 역할은 하지 않고 있고, Win32.mak를 열어보면 빌드에 필요한 여러 변수들을 설정해 주는 파일임을 확인할 수 있습니다. 그런데 도대체 왜 이 중요한 파일을 찾을 수 없다고 뜨는 것일까요? 분명히 존재하고 있는데도 말이죠. Windows 8 SDK부터 기본적으로 포함하지 않음   이 글 에 따르면 Windows 8부터는 Include폴더에 해당 파일들이 들어있지 않다고 합니다. 하지만 다행히도, Microsoft SDK 폴더에 7.0부터 10.0까지 버전에 대한 필요한 파일들이 그대로 들어있으므로 간단히 NMAKE가 실행될 커맨드라인에서 INCLUDE 환경변수에 경로를 추가 해주면 됩니다. INCLUDE 환경변수에 경로 추가   Microsoft SDK 경로(기본값: C:\Program Files (x86)\Microsoft SDKs)에 있는 Windows 폴더의 7.1A\Include 폴더를 INCLUDE 환경변수에 추가해줍시다. SET INCLUDE=%INCLUDE%;C:\Program Files (x86)\Microsoft SDKs\Windows\7.1A\Include   다시 NMAKE를 실행하면 빌드 성공!