일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Arduino
- 라인트레이서
- 운영체제
- stl
- Algorithm
- c++
- 수광 소자
- map
- C언어
- arduino compiler
- 아두이노
- 시스템프로그래밍
- WinAPI
- 통계학
- html
- Stack
- Array
- queue
- set
- priority_queue
- vector
- directx
- Deque
- 아두이노 컴파일러
- Visual Micro
- LineTracer
- 자료구조
- 아두이노 소스
- 컴퓨터 그래픽스
- list
- Today
- Total
목록전체 글 (545)
Kim's Programming
new, delete는 C의 malloc, free에 대응되는 C++의 메모리 할당 연산자이며 실행중 메모리를 할당한다는 점에서 용도가 비슷합니다. 포인터 = new 타입[(초기값)]; new 다음에 할당 대상 타입을 밝히면 sizeof(타입)만큼의 메모리가 할당되고 할당된 포인터가 리턴됩니다. new가 리턴하는 번지는 같은 타입의 포인터 변수로 대입받습니다. 할당과 동시에 메모리를 초기화하고 싶으면 타입 다음의 괄호에 원하는 초기값을 적되 초기화를 할 필요가 없으면 생략할 수 있습니다. 초기화하지 않은 메모리는 물론 쓰레기값을 가집니다. 메모리 부족등의 이유로 할당에 실패하면 NULL을 리턴하는데 원치적으로 이 리턴값을 점검해 보아야 하지만 32비트 환경에서는 실패할 확률이 거의 없어 점검을 생략하는 ..
DC(Device Context) 윈도우즈는 세 가지 동적 연결 하이브러리(DLL)로 구성되어 있는데 메모리를 관리하고 프로그램을 실행시키는 KERNEL, 유저 인터페이스와 윈도우를 관리하는 USER 그리고 화면 처리와 그래픽을 담당하는 GDI가 그것들입니다. 윈도우 API함수의 대부분은 이 세 가지 DLL에 의해 제공되고 있습니다. 출력을 하려면 우리는 GDI(Graphic Device Interface)모듈에 특별히 관심을 기울여야 하는데 화면으로 출력되는 모든 글자와 그림은 GDI를 통해야 하기 떄문입니다. DC(Device Context)란 출력에 필요한 모든 정보를 가지는 데이터 구조체이며 GDI 모듈에 의해 관리됩니다. 문자열의 모양을 지정하는 폰트, 선의 색상과 굵기, 채움 무늬와 색상, 그..
윈도우 프로시저 메세지 처리 함수란 메세지가 발생할 때 프로그램의 반응을 처리하는 일을 하며 WinMain함수와는 별도로 WndProc이라는 이름으로 존재합니다. 윈도우 프로시저(Window Procedure)라는 뜻이지만 통상적으로 읽을 때는 윈드 프록으로 읽습니다. WndProc은 WinMain에서 호출하는 것이 아니라 운영체제에 의해 호출됩니다. WinMain내의 메시지 루프는 메세지 루프는 메세지를 메세지 처리 함수로 보내기만 할 뿐이며 WndProc은 메세지가 입력되면 운영체제에 의해 호출되어 메세지를 처리합니다. 이렇게 운영체제에 의해 호출되는 응용 프로그램 내의 콜백(Callback)함수라고 합니다. 콜백 함수라는 용어는 나중에 따로 하겠습니다. WndProc의 인수는 모두 4개이며 MSG구..
12345678910111213141516171819202122232425262728293031323334353637383940414243444546#include LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);HINSTANCE g_hInst;LPCTSTR lpszClass = TEXT("첫번째"); int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdParam, int nCmdShow){ HWND hWnd; MSG Message; WNDCLASS WndClass; g_hInst = hInstance; WndClass.cbClsExtra = 0; WndClass.cb..
C언어에서는 콘솔으로 만들었기 때문에 콘솔응용 프로그램을 선택하여 만들었지만 WinAPI는 프로젝트 생성이 조금 다릅니다. 전에는 위에 있는 win32 콘솔 응용 프로그램을 선택하여 만들었지만 WinApi는 win32 프로젝트를 용하여 프로젝트를 생성 해 주면됩니다. 나머지는 동일합니다. WinApi 첫 예제의 소스입니다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546#include LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);HINSTANCE g_hInst;LPCTSTR lpszClass = TEXT("첫번째"); int APIENTRY WinMain..
1. 변수 명명법 윈도우즈 프로그래밍에서는 도스(DOS)에서 와는 다릅니다. 도스에서는 변수가 i,j등 짧고 소문자만 이용하지만 윈도우즈에서는 많은 변수가 사용되므로 보통은 변수의 이름을 길게 쓰고 읽기 쉽게 하기 위해 대소문자를 혼합하여 사용합니다. 사용하는 변수가 많기 떄문에 단축형으로 쓰다보면 헷갈리기 쉽고 너무 길면 입력이 불편하기 때문에 잘 절충해야합니다. 특히 자주 사용하는 변수는 관습적으로 정해진 접두어를 사용하는데 다음은 윈도우즈 프로그래밍에서 주로 사용되는 접두어 들입니다. 접두어 본딧말 의미 cb Count of Byte 바이트 수 dw double word 부호없는 Long형 정수 h handle 윈도우, 비트맵, 파일 등의 핸들 sz Null Terminated NULL 종료 문자열..
사용자 정의 객체 객체(object)란 프로그램 작성의 대상 도메인 내에서 명사적으로 표현될 수 있는 모든 것(thing)을 의미하며, 속성과 행위를 가질 수 있는 기본단위를 말합니다. 속성은 객체의 성질 또는 특징을 나타내며 행위는 메소드란 용어료 표현되는데 이는 객체가 수행할 수 있는 동작을 나타냅니다. 메소드는 객체가 가지는 처리기능으로써 자주 사용되는 개게의 처리기능을 미리 프로그래밍 해두고 필요할 때 마다 해당 메소드를 불러서 사용하게됩니다. 메소드를 활룔하면 함수에서 처럼 프로그램의 가독성(Readability)과 효율성이 높아집니다. 자바스크립트에서 다루는 객체는 자바스크립트 자체에서 제공하는 내장 객체(Built-in object)와 사용자가 직접 특정 목적에 맞게 만들어서 사용하는 사용자..
함수 함수는 프로그램 내에서 반복적으로 사용되는 명령문들을 그룹으로 묶어서 처리할 수 있도록 하는 명령문의 집합입니다. alert()나 prompt();등은 경고창이나 메시지창을 열어주기 위해 미리 정의해 둔 함수의 예입니다. 이러한 함수들은 특정 기능을 위해 간단히 그 이름으로 참조되어 호출되지만, 호출될 때마다 정해진 일련의 작업절차를 수행하도록 되어있습니다. 함수는 alert(), prompt()등과 같이 자바스크립트에서 이미 제공하는 함수가 있는가 하면, 사용자가 직접 함수를 정의하여 사용하는 것도 가능합니다. 이때 전자를 내장함수 후자를 사용자 정의함수라고 합니다. 함수와 관련된 몇가지 용어를 설명하기에 앞서 수학에서 흔히쓰는 y=f(x)라는 수식을 사용하겠습니다. y=f(x)에서 f는 함수명 ..