예, 함수의 인수에 올바른 데이터 유형을 사용해야합니다. 그렇지 않으면 문제가 발생할 가능성이 있습니다.
그리고 이러한 유형 등등 오히려 int
, char
을 사용하는 것보다, 그들이하는 방법을 정의하는 이유
는 제거한다는 것이다 OS의 인터페이스에서 "컴파일러가
int
는 다음과 같이 크기가되어야한다고 생각 어떤". 컴파일러 A 나 컴파일러 B 또는 컴파일러 C를 사용하는 경우 모두 동일한 유형을 사용하기 때문에 아주 좋은 것입니다. 라이브러리 인터페이스 헤더 파일 만 유형 정의에 필요한 작업을 수행해야하기 때문입니다.
표준 유형이 아닌 유형을 정의하면 int
을 16에서 32 비트로 쉽게 변경할 수 있습니다. Windows 용 최초의 C/C++ 컴파일러는 16 비트 정수를 사용했습니다. Windows가 32 비트 API를 얻은 것은 1990 년대 중반에서 후반까지였으며 그 시점까지는 16 비트 인 int
을 사용하고있었습니다. 수백 개의 변수를 사용하는 잘 작동하는 프로그램을 가지고 있다고 상상해보십시오. 갑자기 모든 변수를 다른 것으로 변경해야합니다. 아주 좋지는 않을 것입니다. 특히 그 중 일부는 그렇습니다. 변수 중 일부는 32 비트 int로 이동해도 아무런 차이가 없으므로 변수를 변경할 필요가 없으므로 해당 비트를 변경하지 않아도됩니다. WCHAR
가 const char
같은되는 것은 아니다
- WCHAR
정도로 wchar_t
가 유사한 유형 인 "와이드 문자"이다.
그래서 "기본적으로"우리 자신의 형식 정의 "는 소스 코드를 변경하지 않고 기본 컴파일러 아키텍처를 변경할 수 있음을 보장하는 방법입니다. 기계 의존적 인 코딩을하는 모든 커다란 프로젝트는 이런 종류의 일을합니다.
'WCHAR'은'char *'와 동일하지 않습니다 ... (나는 당신이 요구하는 것을 얻습니다) –
이들은 Macro Assembler의 데이터 타입입니다. Windows 1.0이 주로 쓰여졌던 언어입니다. –