API 73

DialogBoxIndirect 샘플 수정 및 코딩 최적화 작업

불필요한 연산을 줄였다. LPWORD lpwAlign (LPWORD ptr) // 4의 배수 단위 설정 { return (LPWORD)((((unsigned long)ptr+3)>>2)cy=400/2; // 높이 lpdt->x=(iParentWidth-(lpdt->cx*2))/4; // 시작 X위치 lpdt->y=(iParentHeight-(lpdt->cy*2))/4; // 시작 Y위치 lpdt->cdit=4; // 자식 컨트롤의 수 lpdt->style = WS_POPUP | WS_BORDER | WS_SYSMENU | DS_MODALFRAME | WS_CAPTION; // lpdt->dwExtendedStyle=0; lpw = (LPWORD) (lpdt + 1); // 기본정보 설정후 다음 부분으로 ..

API 2008.08.06

대화상자와 등록 정보 시트 소프트웨어

대화상자와 등록 정보 시트 소프트웨어 2005/03/10 10:13 http://blog.naver.com/semigifn/10835249 이 포스트를 보낸곳 () 제 3장 .대화상자와 등록 정보 시트 *기본: -대화상자에서 컨트롤을 생성 하는 것은 아주 쉽다. 그것은 리소스 편집기 에서 정의 되는 대화 템플릿에서 크기와 위치가 정해지고 응용프로그램에 연결된다.대화상자는 기본적으로 두가지의 종류로 나누어 지는데 그것은 모달과 비모달이다. 모달 대화상자는 그 대화상자가 사라질 때 까지 응용프로그램이 작동하지 못하도록 하며 비모달 대화상자는 창과 거의 비슷한 속성을 지니며 사용자는 얼마든지 주창이나 다른 윈도를 실행할수 있다. *****모달 대화상자: -모달 대화상자를 만드는데에는 세단계의 구현과정이 있다...

API 2008.08.06

cbWndExtra 이용 윈도우 인스턴스 별로 개별적인 메모리 할당...

cbWndExtra 이용 윈도우 인스턴스 별로 개별적인 메모리 할당... LONG SetWindowLong( HWND hWnd, int nIndex, LONG dwNewLong); 윈도우에 변경을 가하고자 할때 쓰는 api이다. 두번째는 변경하고자 하는 속성을 나타낸다. 윈도우 지정 디폴트 값 설명 GWL_EXSTYLE 확장 스타일 GWL_STYLE 윈도우 스타일 GWL_WNDPROC 윈도우 프로시저의 번지 GWL_HINSTANCE 인스턴스 핸들 GWL_ID 윈도우의 ID GWL_USERDATA 윈도우와 관련된 사용자 데이터 DWL_DLGPROC 대화상자 프로시저의 주소 DWL_MSGRESULT 대화상자 프로시저의 리턴값 DWL_USER 사용자 데이터 그런데 사용자가 임의로 윈도우에 여분 메모리가 있을 ..

API 2008.08.06

DLL 에 대해서 알아보자.

DLL 에 대해서 알아보자. 1.요약 Dynamic Linked Library 에 대해서 알아봅시다. 2.본문 (1) DLL의 성격 - DLL 은 필요에 따라 동적으로 로드되고 제거될 수 있으며, DLL의 하나의 인스턴스가 여러 Application 에 의해 공유되는 것도 가능하다. (2) 장점 과 단점 - 장점 * 실행시 로드와 제거는 DLL을 사용하는 윈도우즈 App가 메모리를 효과적으로 사용한다는 것을 말한다. * DLL에 의한 모듈화는 코드를 독립적으로 개발하고, 테스트하고 관리할 수 있도록 해준다. * 한번에 하나 이상의 Client에 의해서 사용될 수 있기 때문에 진정으로 코드의 공유가 가능하다. * Programming 언어 독립적일 수 있다. - 단점 * App가 여러개의 부분으로 나뉘어지..

API 2008.08.04

재진입성(reentrant)와 스레드 안전성(thread safe)의 개념

컴퓨터 프로그램 또는 서브루틴이 재진입성을 가진다고 하면, 이는 병렬로 안전하게 실행 가능함을 의미한다. 즉 재진입이 가능한 루틴은 동시에 접근해도 언제나 같은 실행 결과를 보장한다. 재진입이 가능하려면 함수는 다음 조건을 만족하여야 한다. 정적 (전역) 변수를 가지고 있지 않아야 한다. 정적 (전역) 변수의 주소를 반환하지 않아야 한다. 호출자가 호출 시 제공한 매개변수만으로 동작해야 한다. 싱글턴 객체의 잠금에 의존하지 않아야 한다. 다른 비-재진입 함수를 호출하지 않아야 한다. 다중의 '사용자/객체/프로세스'와 멀티프로세싱이 대개 재진입 코드의 제어를 복잡하게 만든다. 또한 입출력 코드는 디스크나 터미널과 같은 공유 자원에 의존하고 있기 때문에 보통 재진입성을 가지지 않는다. 재진입성은 함수형 프로..

API 2008.08.01

reentrant와 thread-safe함수와의 관계...

Reentrant 정의: reentrant entity bean(재진입자 Entity Bean) (n.)서로 간섭하지 않고 동시에 여러 인터리브 또는 중첩 호출을 처리할 수 있는 Entity Bean입니다. ------------------------------ reentrant와 thread-safe함수와의 관계... 보기 개요 395 pointsSubmitted by omando on 월, 2003/04/28 - 10:18am. 프로그래밍 QnA 0 points 바로 앞에서도 비슷한 질문 올렸는데요. 답변해주신분들께 깊히 감사드립니다. 정확히는 아직도 개념파악이 안되지만 좀은 알것 같기도 하네요 그런데 한가지 의문점이 생기는군요. 그렇다면 reentrant함수와 동기화위한 세마포어,mutex등과의 차..

API 2008.08.01

SendMessage vs PostMessage, 기타 프로시저 재진입

SendMessage vs PostMessage 개발 ~* 2007/07/09 10:42 http://blog.naver.com/yjjyg/80040027453 이 포스트를 보낸곳 () ## SendMessage & PostMessage ## 1. 기본적인 동작 방식 - 기본적으로 시스템에는 하나의 메시지큐가 있고, 또한 각 스레드 마다 메시지큐가 하나식 생긴다. - 스레드가 처음 생성될 시에는 메시지큐가 생성되지 않고, 메시지큐가 필요한 시점에서 생성된다. (메시지큐가 필요한 시점이란 메시지를 필요로 하는 관련 함수가 한번이라도 호출 되는 시점을 말한다..gdi함수 등..) - SendMessage의 경우 메시지큐를 거치지 않고 직접 윈도우 프로시저를 호출한다. - PostMessage의 경우 메시지큐..

API 2008.07.31

윈도우 프로시저 - API

윈도우 프로시저 API 2007/01/19 13:12 http://blog.naver.com/ansic98/10013184410 이 포스트를 보낸곳 () 첨부파일 (1) 1. 윈도우 프로시저는 윈도우 클래스당 하나씩 배정된다 2. 같은 윈도우 클래스로 부터 만들어진 윈도우는 같은 윈도우 프로시저를 공유하며 동일한 동작을 한다 LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam); - 운영체제에 의해 호출되는 콜백함수이므로 사용자가 호출할 수 없다. SendMessage함수 등으로 간접 호출 가능 - 관심없는 메시지는 DefWindowProc으로 보내 디폴트 처리한다 3. 윈도우 프로시저는 재진입(ReEntrant)..

API 2008.07.31