C/C++
- 레퍼런스 복습
- 포스팅 링크 : [C/C++] Reference(참조) (tistory.com)
- C++ 강좌를 모두 완료하였지만, 구현을 중심으로 한 강의였기 때문에 C++에 대한 이론 부분을 차근차근 복습해나갈 예정
- Tetris 완성
- 깃허브 링크 : CppStudy/Tetris at main · Modisc/CppStudy (github.com)
- 출처 : (2) C언어/C++ 강의 95화 Tetris 6 블럭 추가 및 블럭 회전과 줄 지워주기 [어소트락 게임아카데미] - YouTube
- 배열 초기화 memset vs for
- 인터넷에 나와있는 예제 코드를 이용해서 직접 성능 테스트를 한 결과 memset이 더 빠르게 측정됨.
- 좋은 컴파일러를 사용하면 일반적으로 for 반복문도 최적 인라인 시퀀스로 변경되거나 memset으로 변경될 수 있음
- 코드가 직관적이고 간편한 memset을 쓰는 것이 전체적으로 좋을 것 같음
- 단, 모든 상황에서 memset을 사용할 수는 없고 주의해야 할 사항이 있음
- 주의사항 : [C++] memset 함수 주의점에 대해서 (tistory.com)
WinAPI
- 윈도우는 메시지 기반 운영체제다.
- 어떠한 이벤트가 발생했을 때, 윈도우는 어떤 이벤트냐에 따라 그걸 메세지로 만들어준다.
- 윈도우에서 동작하는 프로그램들은 내부적으로 메세지 큐 라는게 존재하며, 윈도우는 이벤트가 발생했을 때 생성된 메세지를 해당 메세지 큐에 넣어준다
- 메세지 큐에 새로운 메세지가 들어왔는지 계속해서 루프를 돌며 감시하는데 이때의 루프를 메세지 루프라고 부른다.
- 메세지를 저장할 공간을 큐 자료구조로 사용한 것은 당연한 이유이다. 먼저 들어온 이벤트가 먼저 처리되어야 한다.
- 메세지에 따라 사용자 정의 함수를 호출해서 프로그램이 동작된다.
- 함수 포인터를 이용해서 윈도우 함수에 사용자 정의 함수를 전달해주면 윈도우가 메세지 큐에서 메세지를 가져왔을 때, 그에 맞는 처리를 사용자 정의 함수로 동작시키는 것이다.
- 따라서 메세지 큐에 현재 어떤 메세지가 들어갔는 지를 프로그래머가 정확히 알아야 하며 이런 기능을 하는 것이 메세지 프로시저이다.
- 메세지 프로시저를 윈도우 프로시저라고 부른다.
WinAPI를 배우기 시작했다.
메세지 개념, 핸들 개념, 그리기, 더블 버퍼링 등의 내용을 익히기 위해 길어도 2주정도 기간을 잡고 짧게 강의를 본 후, C++과 마찬가지로 이론적인 내용을 차근차근 복습해갈 예정이다.
'TIL' 카테고리의 다른 글
[TIL] 20221024 성장일지 (0) | 2022.10.24 |
---|---|
[TIL] 20221012 성장일지 (0) | 2022.10.12 |
[TIL] 20221007 성장일지 (0) | 2022.10.07 |
[TIL] 20221006 성장일지 (2) | 2022.10.06 |
[TIL] 20221005 성장일지 (0) | 2022.10.05 |
댓글