190704-2 CHECKER3.C -- Mouse Hit-Test Demo Program No. 3 교육을 받으면서 노트필기 했던 내용을 날것 그대로 업로드합니다. A /*------------------------------------------------- CHECKER3.C -- Mouse Hit-Test Demo Program No. 3 (c) Charles Petzold, 1998 -------------------------------------------------*/ #include #pragma warning ( disable:4312) #define DIVISIONS 3 #define WM_DRAWXMSG WM_APP+100 typedef struct _Data { POINT pt; ..
190704-1 교육을 받으면서 노트필기 했던 내용을 날것 그대로 업로드합니다. 30. IPC(메시지) Inter process communication 프로세스 간에 통신을 해봅시다. 1 - 메세지를 사용한 교환방식 윈도우즈os 만의 RPC라는 개념이 만들어져서 사용했다. 유저 오브젝트 : Window 같은 것들. 핸들이 전역적으로 사용가능하다. 프로세스는 독립적인 가상 공간을 가진다. 32bit애플리케이션이라면 주소가 00000000~FFFFFFFF 까지 가진다.프로세스는 모두 가상주소공간이라는 주소를 사용한다. 내부적으로는 os만 안다. (64비트면 F가 16개다.) 윈도우의 핸들을 알면 메세지를 보낼 수 있다. 큰 데이터를 보내려고 가상주소를 다른 프로세스에 날리면 다른 프로세스에는 해당 데이터가..
190703-3 플래그 교육을 받으면서 노트필기 했던 내용을 날것 그대로 업로드합니다. 플래그 #include #include #include using namespace std; struct ThreadInfo { HANDLE hThread; bool bRun; HWND hwnd; POINT pt; // 클릭한 좌표 }; vector threadList; // 공유변수 #pragma region MyRegion DWORD __stdcall DrawThread(LPVOID pParam); LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam); HINSTANCE g_hInst; int WINAPI WinMain(HINSTA..
190703-2 교육을 받으면서 노트필기 했던 내용을 날것 그대로 업로드합니다. 동기화 : 비동기화 : 시간 t에 독립적으로 두개 이상 작업이 수행 (중첩, 겹침) 크리티컬 색션 : 동기화 객체라고 부른다. 동기화 객체 InterLocked~ Critical Section : User Level Mutex : Kernel Level Semaphore : Kernel Level : ↑ 데이터 보호를 위해 만들어졌다. Event : Kernel Level : 순서제어를 위해 만들어 졌다. 유저모드 동기화 크리티컬 섹션 : 메모리 접근 동기화 인터락 함수 : 메모리 접근 동기화 커널모드 동기화 뮤텍스 : 메모리 접근 동기화 (소유개념), 소유하면 비신호, 소유하고있지않으면 신호 상태가된다. 세마포어 : 메모리..
190703-1 교육을 받으면서 노트필기 했던 내용을 날것 그대로 업로드합니다. WS_CHILD : 부모 내에서만 동작 WS_OVERLAPPEDWINDOW : 겹쳐지는 윈도우 hwndChild = CreateWindow(_T("ChildWindow"), _T("Child Window !!"), WS_OVERLAPPEDWINDOW|WS_CHILD, 100, 100, 300, 300, hwndParent, (HMENU)NULL, //저번 코드 수정 NULL로 주어야 한다. g_hInst, NULL ); __declspec(thread) static int count = 0; #include #include DWORD __stdcall DrawThread(LPVOID pParam); DWORD __stdcal..