Win32 API - 코딩 규칙

NYH·2024년 2월 3일
0

WIN32

목록 보기
1/7

목차

  1. 접두어 규칙
  2. 데이터형


1. 접두어 규칙과 표기법

Win32API 코딩 스타일

주로 쓰는 접두어 규칙

접두어원본의미
cbCount of Bytes바이트 수
dwdouble word부호없는 long형 정수
hdouble word윈도우, 비트맵, 파일등의 핸들
szNull TerminatedNULL 종료 문자열
wWord부호없는 정수형
iInteger정수형
bBool논리형


헝가리언 표기법

  • 변수에 대한 추가 정보를 제공하기 위해 변수 이름에 접두어(prefix)를 추가하는 방법.
  • 변수에 대한 의미론적 정보를 제공하여 의도한 용도를 알려줌.
  • 데이터 타입을 변수명에서 추정 가능.
  • 출시 당시 IDE가 발전하지 않은 80년대였기 때문에 효과가 있었지만 현재는 MS 공식 가이드라인에서 사용을 권고하지 않음.


2. 데이터형

Typedefs

  • Windows 헤더에는 수많은 typedef가 포함되어있습니다.

  • 예시 minwindef.h

typedef unsigned long       DWORD;
typedef int                 BOOL;
typedef unsigned char       BYTE;
typedef unsigned short      WORD;
typedef float               FLOAT;
typedef FLOAT               *PFLOAT;
typedef BOOL near           *PBOOL;
typedef BOOL far            *LPBOOL;
typedef BYTE near           *PBYTE;
typedef BYTE far            *LPBYTE;
typedef int near            *PINT;
typedef int far             *LPINT;
typedef WORD near           *PWORD;
typedef WORD far            *LPWORD;
typedef long far            *LPLONG;
typedef DWORD near          *PDWORD;
typedef DWORD far           *LPDWORD;
typedef void far            *LPVOID;
typedef CONST void far      *LPCVOID;

정수형

데이터형식크기부호 여부
BYTE8비트부호 없음
DWORD32비트부호 없음
INT3232비트부호 있음
INT6464비트부호 있음
LONG32비트부호 있음
LONGLONG64비트부호 있음
UINT3232비트부호 없음
UINT6464비트부호 없음
ULONGLONG64비트부호 없음
WORD16비트부호 없음

BOOL 형식

  • int 값의 형식 별칭

  • C++의 bool 형식과 구별됨.

  • BOOL 형식의 값

#define FALSE 0
#define TRUE 1
  • BOOL 반환 형식의 예시
// 1. ( O )
if (SomeFunctionThatReturnsBoolean()) 
{ 
    ...
}

// 2. ( O )
if (SomeFunctionThatReturnsBoolean() != FALSE)
{ 
    ...
}

// 3. ( X )
if (SomeFunctionThatReturnsBoolean() == TRUE)
{ 
    ...
}

포인터 타입

형식 정의정의
CHARchar
PSTR 또는 LPSTRchar*
PCSTR 또는 LPCSTRconst char*
PWSTR 또는 LPWSTRwchar_t*
PCWSTR 또는 LPCWSTRconst wchar_t*

UNICODE 텍스트

매크로UnicodeANSI
TCHARwchar_tchar
TEXT("x") 또는 _T("x")L"x""x"


profile
그냥 해라

0개의 댓글