본문 바로가기
728x90
반응형

전체 글97

07 WinAPI) Window 창 받아 만들기 더보기 항상 작업해둔 내용에 자세한 코드는 GitHub에 올려두고 있습니다. https://github.com/JinHyung16/WinApi GitHub - JinHyung16/WinApi Contribute to JinHyung16/WinApi development by creating an account on GitHub. github.com 이제 Core 클래스를 만들었으면 Core의 init함수에서 해상도에 맞춰 화면을 그려보려 한다. 이때 화면을 그린다는건 메뉴바등을 다 제외한 실제 클라이언트 영역을 의미한다. 먼저 실제 화면을 그리려면 AdjustWindowRect를 통해 내가 그리고 싶은 화면의 크기를 조정한다. 이때 rt를 레퍼로 보냈는데 반환값이 따로 없다. 대신 AdjustWindow.. 2023. 11. 15.
[피보나치 수열] 2가지 방법 알고리즘 테스트에서 거의 자주 나오는 것 중 하나는 피보나치 수열이다. 피보나치 수열에 대한 자세한 내용은 따로 검색해서 찾자! 피보나치 수열을 해결하는 방법은 2가지가 있다. 1) 재귀를 이용한다. (Recursion 개념 이용) 2) 재귀를 이용하지 않는다. (Memoization 개념 이용) 두 개의 코드를 간단히 구현하고 어떤 차이점이 있는지 시간 복잡도 측면에서 살펴보겠다. #include #include using namespace std; // n의 범위에 따라 자료형을 변경한다. vector fibo; // 재귀 방식 int FiboRecursion(int n) { if(n == 0) return 0; else if(n == 1) return 1; return FiboRecursion(n .. 2023. 11. 14.
06 WinAPI) Singleton 오늘은 Singleton 패턴에 대해 배우려고 한다. Unity에서 Singleton을 자주 다뤘지만 막상 C++로 하려니 조금 낯선느낌ㅋㅋ 이 또한 GitHub에 코드로 올라가 있으니 Core 폴더 내부의 CCore.h 파일을 확인하자 https://github.com/JinHyung16/WinApi GitHub - JinHyung16/WinApi Contribute to JinHyung16/WinApi development by creating an account on GitHub. github.com 우리가 객체 생성을 하여 사용할 때 오로지 1개의 객체만을 갖도록 보장하고 싶을 때 사용한다. 이해를 위해 Step을 나눠가며 하나씩 코드로 작성하고자 한다. 먼저 동적 할당 방법으로 만들어보자. St.. 2023. 11. 12.
05 WinAPI) PeekMessage 더보기 https://github.com/JinHyung16/WinApi GitHub - JinHyung16/WinApi Contribute to JinHyung16/WinApi development by creating an account on GitHub. github.com GitHub에 가시면 코드 다운받으셔서 커스텀 가능합니다! 이전 04 글에서 화면에 사각형을 그리고 움직였다. 만약 화면에 그려야할 오브젝트가 많아진다면? 그리고 내 캐릭터를 움직이는데 키를 지속적으로 누르고 있다면? 화면에 그려지는 정보는 어떤 식으로 보여질까? 게임에서 렌더링과 프레임을 생각해보자. 우선 메시지 기반에서 렌더링을 볼 수 있게 코드를 수정해보자. 마우스 좌클릭시 위치를 받고 좌클릭이 끝나는 지점에서의 위치를 받.. 2023. 11. 11.
04 WinAPI) 핸들과 DC(2) 더보기 GitHub에 가셔서 코드를 직접 다운받아 커스텀 해보실 수 있습니다. https://github.com/JinHyung16/WinApi GitHub - JinHyung16/WinApi Contribute to JinHyung16/WinApi development by creating an account on GitHub. github.com 저번 사각형 창 띄우기에서 더 나가서 창 테두리는 HPEN을 통해 HBRUSH를 통해 사각형 내부를 채우는 코드를 작성했다. 참고로 운영체제 공부도 하면서 글을 조금씩 작성하는데 같이보면 WinAPI의 용어와 어떤 느낌으로 이 코드를 제공하는지 이해하기 편한거 같습니다~ 그러면 마우스 좌표를 받고 싶다 WM_LBUTTONDOWN 의 case문에 추가하여 lP.. 2023. 11. 10.
[운영 체제] 신입 필수 기본기 1 OS (운영체제) - OS는 하드웨어 자원을 관리하고 응용 프로그램과 하드웨어 사이를 중재하는 인터페이스를 의미한다. 커널 - 운영체제도 하나의 소프트웨어로 컴퓨터가 실행되고 어딘가에 메모리가 올라가야 실행된다. OS는 규모가 큰 프로그램으로 이 모든걸 메모리에 올라간다면 한정된 자원의 낭비가 심할것이다. 이에 OS의 핵심 부분은 항상 메모리에 올려두고 필요한 부분은 그때 그때 메모리에 올려 사용한다. 이 때 메모리에 상주하는 운영체제의 부분을 커널이라고 한다. - 즉 커널이라 하는 항상 필요한 OS의 핵심 부분만을 메인 메모리에 적재하여 OS를 사용하게 한다. 프로세스(Process) VS 스레드(Thread) - 프로세스는 실행중인 프로그램을 의미하는데 완전히 독립적이기 때문에 메모리 영역을 다른 프.. 2023. 11. 10.
728x90
반응형