왜 다들 표준 C형보다 typeef를 더 많이 쓰는 거죠?
QT를 사용하고 싶다면, 이 모든 것을 수용해야 합니다.quint8
,quint16
기타 등등.
GLib를 사용하려면 다음 명령을 따라야 합니다.guint8
,guint16
기타 등등.
Linux 에서는,u32
,s16
기타 등등.
uC/OS 정의SINT32
,UINT16
기타 등등.
그리고 만약 당신이 그러한 것들을 조합해야 한다면, 당신은 문제에 대비하는 것이 좋을 것이다.왜냐하면 당신의 기계에서u32
될 것이다typedef
에 대해 자세히 살펴보다long
그리고.quint32
될 것이다typedef
에 대해 자세히 살펴보다int
컴파일러가 불평할 겁니다.
왜 다들 이런 짓을 하지?<stdint.h>
이게 도서관 전통인가요?
stdint.h
이 도서관이 개발되던 당시에는 존재하지 않았습니다.그래서 각각의 도서관은 그들만의 것을 만들었다.typedef
s.
stdint.h
는 1999년부터 표준화되었습니다.많은 애플리케이션이 기본 머신 아키텍처로부터 부분적인 독립성을 유지하기 위해 유형을 정의(효과적인 별칭)할 가능성이 높습니다.
개발자는 응용 프로그램에서 사용되는 유형이 언어 표준 또는 컴파일러 구현과 일치하지 않을 수 있는 동작에 대한 프로젝트 고유의 가정과 일치한다고 확신할 수 있습니다.
이러한 관행은 객체 지향 파사드 설계 패턴에 반영되며, 모든 Import된 라이브러리에 대해 래퍼 클래스를 작성하는 개발자에 의해 많이 남용된다.
준거자가 표준이 훨씬 낮고 머신 아키텍처가 16비트, 18비트, 36비트 워드 길이의 메인프레임으로 다양할 수 있을 때는 이것이 훨씬 더 고려 사항이었습니다.32비트 ARM 임베디드 시스템으로 수렴되는 세계에서는 이러한 관행은 그다지 적절하지 않습니다.메모리 맵이 홀수인 로우엔드 마이크로컨트롤러에게는 여전히 문제가 되고 있습니다.
오래된 라이브러리의 경우 문제의 헤더(stdint.h
)가 존재하지 않았습니다.
다만, 아직 문제가 있습니다.이러한 타입(uint64_t
기타)는 표준 옵션 기능입니다.따라서 준거 실장은 출하되지 않을 수 있습니다.따라서 현재도 라이브러리는 이러한 실장을 포함하도록 강요당하고 있습니다.
typedef char to int를 사용할 수 있습니다.
한 "coding horror"는 한 회사의 헤더가 프로그래머가 부울 값을 원하는 지점을 가지고 있으며 char는 작업의 논리 네이티브 유형이라고 언급하고 있습니다.typedef bool char
에 어떤 썼어요.typedef bool int
Unicode보다 것으로, Unicode, Unicode, Unicode가 typedef char int
.
상당히 많은 미래지향적, 미래호환성이 있다고 생각합니다.
언급URL : https://stackoverflow.com/questions/38552314/why-does-everybody-typedef-over-standard-c-types
'programing' 카테고리의 다른 글
nullable 열은 insert 문에 null 값을 사용하지 않는 이유는 무엇입니까? (0) | 2022.10.08 |
---|---|
소켓 '/tmp/mysql.sock'을 통해 로컬 MySQL 서버에 연결할 수 없습니다. (0) | 2022.10.08 |
모듈 빌드 실패:오류: 파서와 파일 경로가 지정되지 않았습니다. 파서를 nuxtjs로 추론할 수 없습니다. (0) | 2022.10.08 |
MariaDB 10.1에서 UUID/guid를 생성하려면 어떻게 해야 합니까? (0) | 2022.10.08 |
mysql/sysqladb - 테이블 열 인덱스 생성이 작동하지 않습니다. (0) | 2022.10.08 |