구조를 알아야 개발이 보인다-윈도우편 <C++로 풀어보는 윈도우 구조>

C++로 풀어보는 윈도우 구조

C/C++, 특히 C++은 윈도우 내부 동작에 관여하는 프로그램을 개발하도록 설계된 언어입니다. 만약 C/C++을 공부할 때 언어를 먼저 배우고, 개발 중의 오류를 해결하는 과정에서 내부 구조를 이해하며 윈도우 구조를 알게 된다면 이는 매우 비효율적인 접근 방법이라고 할 수 있습니다.

운영체제의 내부 구조를 모르고 개발을 한다는 것은 마치 산 위에 배를 띄우는 것과 같기 때문입니다. 따라서 개발을 하기 위해서는 운영체제의 처리 과정을 이해하고 있어야 하는데, 바로 이 부분이 프로그램 언어에서는 코드 뒤쪽의 이야기, 즉 운영체제인 윈도우인 겁니다.

이 책에서는 윈도우에서 C/C++를 통해 개발하기 전에, 운영체제인 윈도우가 어떻게 동작하는지 이해함으로써 여러분들이 보다 넓은 시야를 가지고 개발할 수 있도록 도와줄 것입니다. 지금 당장은 지름길을 놔두고 옆으로 돌아가는 것 같아 보이지만 결코 그렇지 않습니다. 오히려 2~3배 높은 곳으로 가는 지름길입니다.

이 책은 개발을 시작하기 전 망설여지는 분들이나, 이 코드가 왜 이렇게 쓰이는지에 대한 원리를 알고 이를 통해서 사고력을 키우고자 하는 분들에게 적당한 가이드가 될 것이라고 생각됩니다.

실습 링크

https://github.com/allmnet/C-Cpp-to-learn

책 링크

http://www.yes24.com/24/goods/57562020

 

구조를 알아야 개발이 보인다-윈도우편 C++로 풀어보는 윈도우 구조

구조를 알아야 개발이 보인다-윈도우편 C++로 풀어보는 윈도우 구조

목차

1장 왜 개발자는 윈도우를 알아야 하는가
1. C/C++ 언어의 특징과 윈도우 커널의 변화
2. 시작하기 전 준비할 것들
3. C/C++ 개발 기본기 다지기
4. 생각 정리

2장 윈도우 기본 개념 이해하기
1. 5가지 기본 요소
2. 멀티프로세싱(Multiprocessing)
3. 유니코드의 이용
4. 서브시스템
5. 생각 정리

3장 프로세스
1. 프로세스 관련 API
2. 파라미터 LPWSTR의 의미
3. 환경 변수 사용
4. Desktop 변경하기
5. 다른 프로세스 핸들 가져오기
6. 생각 정리

4장 스레드
1. 스레드 관련 API
2. 스레드 스택
3. 스레드 우선순위
4. 클럭과 퀀텀
5. 스레드 스케줄링
6. 스레드 동기화
7. 병렬 처리
8. 생각 정리

5장 객체와 핸들
1. 객체
2. 핸들
3. 핸들의 접근 권한
4. 생각 정리

6장 메모리
1. 가상 메모리와 페이징
2. 페이징 파일
3. 페이지 공유(데이터 공유)
4. 힙(Heap)
5. 프론트엔드 할당자(Front-End Allocator)
6. 메모리 맵 파일(MemoryMapedFile)
7. 생각 정리

 

Facebook Comments