전체 : 4,150,784 명
어제 : 0 명
오늘 : 0 명

WIN 32 API 시작하기전에 간단히 알아두기

진혼이중주 | 2008.05.31 07:14 | 조회 9384

헝가리식 변수 명명법

접두어 원래말 의미

cb Count of Byte 바이트 수

dw double Word unsigned long

h handle 윈도우, 비트맵 , 파일등의 핸들

sz Null Teminated NULL 종료 문자열

ch Character 문자형

a Array 배열

w Word 부호 없는 정수형 (unsiged short)

i integer 정수형

p, lp long pointer 포인터형

b Bool 논리형

윈도우즈 사용자 정의 데이터형

데이터형 의미

BYTE unsigned char

CHAR char

WORD unsigned short

DWORD unsinged long

LONG long와 동일

BOOL 정수형이며 TRUE , FALSE중 하나의 값을 지님

핸들

핸들이란 구체적인 어떤 대상에 붙여진 번호이며 문법적으로 32비트(또는 64비트)로 이루어진 정수값이다.

1. 핸들은 일단 정수값이며 대부분의 경우 32비트 값이다. 핸들을 사용하는 목적은 오로지 구분을 위한 것이므로 핸들끼리 중복되지 않아야 하며

이런목적으로는 정수형이 가장 적합하다. 정수형은 비교나 대입 연산이 가장 빠른 타입이므로 핸들로 쓰기에 적합하다.

2. 핸들은 운영체제가 발금하여 사용자는 쓰기만 한다. 예를 들어 윈도우를 만들거나 파일을 열면 운영체제는 만들어진 윈도우나 열려진 파일에

운영체제는 만들어진 윈도우나 열려진 파일에 핸들을 붙이고 그 값을 리턴한다. 사용자는 이 핸들을 잘보관해 두었다가 해당 윈도우나 파일을

다시 참조할때 사용 한다. 사용자가 직접 핸들을 만드는 경우는 없다.

3. 같은 종류의 핸들끼리 절대로 중복된 값을 가지지 않는다. 만약 이렇게 된다면 대상을 구분하는 본래의 목적을 달성 할 수 없을 것이다.

물론 다른 종류의 핸들끼리는 중복된 값을 가질 수도 있다.

4. 핸들은 정수형이므로 값을 가지겠지만 그 실제값이 무엇인지 몰라도 상관 없다. 핸들은 크고 작음의 성질을 가지는 숫자가 아니라 단순한 표식일뿐이다.

핸들형 변수를 만들어 핸들을 대입받아 쓰고 난 후에 버리면 된다. 마치 malloc한 포인터의 실제 위치가 어디인가 신경 쓸 필요 없이 사용하다가

free로 해제하면 그만인 것과 같다.

유니코드

C타입 유니코타입

char TCHAR

char* LPSTR

const char* LPCSTR

문자열 처리 함수

C 표준 함수 유니코드 지원 함수

strlen lstrlen

strcpy lstrcpy

strcat lstrcat

strcmp lstrcmp

sprintf wsprintf

유니코드 문자의 선언

TCHAR *str = " string " ; // 이렇게 쓰지말고 (X)

TCHAR *str = TEXT( "string" ) // TEXT매크로 안에 문자열 상수를 쓴다. (O)

twitter facebook me2day 요즘
좋은내용 ㄳ^^;

좋은내용 ㄳ^^;

05.31 16:39 | Нyan™님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
좋은 자료 감사합니다 잘 활용하겠습니다~~~~
좋은 자료 감사합니다 잘 활용하겠습니다~~~~
07.19 16:05 | 카카롯트님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
리버싱에 대해 문외한이지만 프로그래밍에는 어느정도 알아서 글을 보고 틀린..

리버싱에 대해 문외한이지만 프로그래밍에는 어느정도 알아서 글을 보고 틀린점이 보여서 적습니다.

C 표준 유니 코드
char TCHAR
char* LPSTR
const char* LPCSTR

MSDN을 보시면

#ifdef UNICODE
typedef WCHAR TCHAR;
#else
typedef char TCHAR;
#endif

이라고 적혀 있습니다.

컴파일할때 유니코드인지를 판별해서 WCHAR을 TCHAR로 재선언한거구요

아닐때는 char을 TCHAR로 재선언한겁니다.

정리하자면

C 표준 유니코드
char WCHAR
char*(LPSTR) WCHAR*(LPWSTR)
const char*(LPCSTR) CONST WCHAR *(LPCWSTR)

이 맞는 표현입니다

일일이 구별할 필요없이 컴파일 세팅만 바꿔서 사용하고 싶다라고 하실때 사용하는게

TCHAR입니다

문자열 처리 함수 역시 잘못되어 있네요..

MSDN을 참조해 보세요..

07.24 17:19 | XYZ님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
좋은자료 감사합니다 헝가리안 표기법 중요하죠~_~
좋은자료 감사합니다 헝가리안 표기법 중요하죠~_~
02.27 10:30 | Kki님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
GOOD,Thank you
GOOD,Thank you
04.20 16:35 | o594cql님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
와 몰랐던 사실을알아서 좋으네요 .^^
와 몰랐던 사실을알아서 좋으네요 .^^
05.15 12:02 | 태씽님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
잘보고갑니돠 :)

잘보고갑니돠 :)

01.04 15:17 | 성워니즘님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
헝가리안 표기법 모르면 첨엔 많이 당황하는데, 잘 보았습니다 ㅎㅎ

헝가리안 표기법 모르면 첨엔 많이 당황하는데, 잘 보았습니다 ㅎㅎ

02.20 13:44 | 피닉스님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
아직은 여기는 모르겟네요 감사합니다

아직은 여기는 모르겟네요

감사합니다

05.07 23:08 | 맹물님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
감사합니다.
감사합니다.
12.02 15:44 | 원더보이님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
댓글쓰기 - 로그인한 후 댓글작성권한이 있을 경우 이용하실 수 있습니다.

비밀번호 확인

댓글 등록시에 입력했던 비밀번호를 입력해 주세요.
87개(1/5페이지)
rss
C
번호 제목 작성자 작성일 조회
87 배열설정 쉽게하기 부보 2012.12.22 2089
86 [고급]연습문제[11] 권율 2010.01.10 9548
85 [고급]C언어에서 포인터 이용한 간단한 암호 ~[8] 쫭구 2009.11.11 9377
84 [중급]BOF의 개념과 BOF를 이용한 해킹 방법[10] Ezbeat 2010.03.19 10141
83 [중급]ReadProcessMemory & WriteProcessMemory사진[8] COOLSOFT 2009.06.04 9938
82 [기초]C언어의 탄생 배경[20] COOLSOFT 2007.11.03 9979
81 [기초]비주얼 C++ 설치하기사진첨부파일[15] COOLSOFT 2007.10.27 7151
80 [기초]Microsoft Visual C++ Windows Applications by Example첨부파일[4] COOLSOFT 2009.04.03 7322
79 [기초][TIP]swap함수 매크로 한줄로 끝내기[9] secretofsh 2009.03.05 10501
78 [기초]c# 화면캡쳐프로그램 -소스포함 |첨부파일[12] 야옹이 2008.12.25 12855
77 [기초]주민번호를 만들어내는 규칙에 대해서 설명과 소스[26] COOLSOFT 2008.07.12 10104
76 [기초]윈도우 기본 창 생성 소스 -주석 포함-[7] 진혼이중주 2008.05.31 10796
>> [기초]WIN 32 API 시작하기전에 간단히 알아두기[10] 진혼이중주 2008.05.31 9385
74 [기초]c++ 강좌 #3 변수와 상수 (1)[15] 진혼이중주 2008.05.28 8850
73 [기초]C++ 강좌 #2 C++언어의 기본적인 구조[6] 진혼이중주 2008.05.28 5968
72 [기초]C++ 강좌 #1[12] 진혼이중주 2008.05.28 6743
71 [기초]리스트 자료구조의 기본적인 개념[3] 진혼이중주 2008.05.16 7971
70 [기초]두 자리 수 이상의 곱셈에 대한 알고리즘[5] 진혼이중주 2008.05.16 7198
69 [기초]Turbo 2.0 설치 및 사용법첨부파일[2] 진혼이중주 2008.05.16 8861
68 [기초]삼성 프로그래머들의 C/C++ 코딩 스타일의 지침서첨부파일[41] 진혼이중주 2008.05.05 15441
처음페이지이전 10 페이지12345다음 10 페이지마지막페이지