일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- firebase
- vuepress
- null safety
- error
- hardwareacceleration
- C
- porterduff
- test
- LAYER_TYPE_SOFTWARE
- dataginding
- quick-start
- Hyperledger
- 안드로이드
- 스트리밍
- Android
- bigquery
- kotlin
- Realm
- fabric-sdk-java
- convert
- log
- Exception
- fabic
- web3js
- ethereum
- Gradle
- Glide
- 컴파일
- 다윈
- coroutines
- Today
- Total
목록프로그래밍 (155)
날마다 새롭게 또 날마다 새롭게
난수를 발생하는 함수. 주의사항 : rand() 함수만 사용할 경우, 발생하는 난수가 규칙적이다. 예를 들어, 처음 실행할 때 생성된 난수가 1,4,5라면 다시 실행해 봐도 난수는 1,4,5가 생성된다. 이렇게 난수가 규칙적인 이유는 진짜로 난수가 생성되는 것이 아니기 때문이다. 그래서 rand 함수를 가리켜 의사 난수를 생성하는 함수라고 한다. 이를 해결하기 위해서 srand 함수를 사용한다. srand는 하나의 인자를 전달받는데 이 인자를 가리켜 씨드(seed)값이라고 한다. 씨드값에 따라 rand 함수 호출 시 생성되는 난수들이 달라진다.
DC란 출력에 필요한 모든 정보를 가지는 데이터 구조체이다. 예를 들어 화면에 선을 긋는 LineTo라는 함수를 생각해 보자. 선을 그리기 위해서는 시작점과 끝점, 선의 굵기, 모양, 색상, 선을 그리는 모드, 좌표값을 해석하는 방법 등의 정보가 필요하다. 이런 정보들을 모두 인수로 넘긴다면 LineTo 함수는 다음과 같은 모양이 될 것이다. LineTo(Start X, Start Y, End X, End Y, Color, Width, Shape, ROP, mode,....) 이렇게 선의 특성을 결정하는 값들을 일일이 인수로 전달하는 것보다는 한 곳에 모아두고 그 값들을 사용하는 방법이 훨씬 더 편리하고 효율적이다. 그래서 이런 정보들을 모두 모아 DC라는 것을 만들고 그리기 함수에서는 DC의 핸들을 넘..
스플리터 void CRightBottom::OnDraw(CDC* pDC) { CDocument* pDoc = GetDocument(); // TODO: 여기에 그리기 코드를 추가합니다. CDC memDC; BITMAP bm; m_bitmap.GetObject(sizeof(bm),&bm); //화면 DC와 호환되는 메모리 DC를 생성한다. memDC.CreateCompatibleDC(pDC); //비트맵 리소스는 생성자에서 로딩함. 이 위치에서 로딩 시, //debug assertoin failed 에러 발생....??? //메모리 DC에 선택한다. CBitmap *oldBitmap=memDC.SelectObject(&m_bitmap); pDC->StretchBlt(10, 10, bm.bmWidth/m_i..
윈도우즈는 프로그램 실행 순서가 명확하게 정해져 있지 않으며, 상황에 따라 실행 순서가 달라진다. 메시지 : 사용자나 시스템 내부적인 동작에 의해 발생된 일체의 변화에 대한 정보를 말한다. ex) 마우스 클릭, 키보드 입력, 마우스 무브 등 이러한 메시지가 발생하면 프로그램에서는 메시지가 어떤 정보를 담고 있는 가를 분석하여 어떤 루틴을 호출할 것인가를 결정한다. 즉 순서를 따르지 않고 메시지에 대한 반응을 정의하는 방식으로 프로그램이 실행된다. □ 메시지 처리순서 1. 사용자의 조작 or 시스템의 변화에 의한 메시지 발생 2. 메시지 큐에 메시지 입력 → MSG 구조체 형태로 저장 3. GetMessage : 메시지를 꺼냄 (WM_QUIT 일 경우 종료 ) 4. TranslateMessage : 키보드..
핸들(handle)이란 구체적인 어떤 대상에 붙여진 번호이다. HWND, HPEN, HBRUSH, HDC - 핸들값을 저장하기 위한 별도의 데이터 형 윈도우즈의 경우 윈도우, DC, 논리적 펜, 브러시, 심지어 메모리에도 핸들을 사용한다. 왜 이렇게 핸들을 자주 사용하는가 하면 대상끼리의 구분을 위해서는 문자열보다 정수를 사용하는 것이 속도가 훨씬 빠르고 간편하기 때문이다. 핸들의 특징 1.핸들은 대부분의 경우 32비트 정수값이다. 핸들의 사용 목적은 오로지 구분을 위한 것으 로 핸들끼리 중복되지 않아야 한다. 2.핸들은 운영체제가 발급한다. 3.핸들은 단순한 표식일 뿐이다.