C 표준 라이브러리와 C POSIX 라이브러리의 차이점
"C 표준 lib"와 "C POSIX lib"에 혼란 스러웠습니다. "C POSIX lib"에 정의 된 많은 헤더 파일도 "C 표준 lib"의 일부라는 것을 알았 기 때문입니다.
그래서 "C 표준 lib"는 ANSI C 조직에서 정의한 lib이고 다른 플랫폼 (Win32 / Unix와 같은)에서 다른 것이 "C POSIX lib"는 "C 표준의 구현 일뿐"이라고 가정합니다. 유닉스 계열 OS에서는 lib "가 맞죠?
그러나 "C POSIX lib"에는 "C 표준 lib"에 지정되지 않은 헤더 일부 (예 : <sys/types.h>
,, <sys/wait.h>
)가 포함되어 <pthread.h>
있습니다.
가지고 <pthread.h>
예를 들어, 나는 그것의 "C 표준 LIB"상대는 가정 <threads.h>
내가이 포함되어야 헤더 파일을 리눅스에 멀티 프로그램을 작성하려는 경우, 다음, <pthread.h>
또는 <threads.h>
?
POSIX는 표준 C 라이브러리의 상위 집합이며 이에 따라 중요는 점에 유의하는 것이됩니다. C와 POSIX가 충돌하면 C가이 경쟁합니다.
소켓, 파일 설명자, 공유 메모리 등은 모두 POSIX의 일부이지만 C 라이브러리에는 존재하지 않습니다.
pthread.h
POSIX는 사용에 사용되며 threads.h
C11의 새 헤더이며 C 라이브러리의 일부입니다. 아마도 pthread는 미래에 C를 선호하여 더 이상 사용하지 않을 것입니다. 그러나 아직 C11이 널리 배포되지 않습니다. 이식성을 지금은 선호해야합니다. 이식성이없는 경우 C11의 경우 사용할 수 없습니다.
C POSIX 라이브러리는 POSIX 시스템 용 C 표준 라이브러리의 사양입니다. ANSI C 표준과 동시에 개발되었습니다. POSIX가 표준 C와 호환하기 위해 약간의 노력이 있습니다. POSIX에는 표준 C에 추가 기능이 포함되어 있습니다.
POSIX 7 견적
http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap01.html#tag_14_01
1.1 다른 공식 표준과의 관계
이 POSIX.1-2008 볼륨이 다음 표준과 완전히 일치하도록 세심한주의를 기울였습니다.
ISO C (1999) ISO / IEC 9899 : 1999, 프로그래밍 언어 -C, ISO / IEC 9899 : 1999 / Cor. 1 : 2001 (E), ISO / IEC 9899 : 1999 / Cor. 2 : 2004 (E), ISO / IEC 9899 : 1999 / Cor. 3.
ISO / IEC 9899 : 1999 표준 (이하 ISO C 표준이라고 함)의 일부는 POSIX.1-2008 의이 볼륨에서 요구하는 요구 사항을 설명하기 위해 참조됩니다. 이 POSIX.1-2008 볼륨에 포함 된 일부 기능 및 헤더는 ISO C 표준 버전을 가지고 있습니다. 이 경우 ISO C 표준이 확장 된 위치를 표시하기 위해 CX 마킹이 설명하게 추가됩니다 (코드 참조). 이 POSIX.1-2008 볼륨과 ISO C 표준 충돌은 의도하지 않은 것입니다.
몇 가지 주요 API 확장을 준비했습니다. 정말 이해하지 않아 : POSIX가 무엇입니까?
ANSI C는 여전히 살아 있다고 생각합니다. ANSI C는 ISO C, Cxx에 의해 상속되고 확장됩니다. POSIX는 ANSI C를 절대적으로 준수하고 있습니다. "
우리는 Windows, Unix와 유사하며, 장치에서 쉽게 ANSI C를 사용할 수 있습니다. 그러나 Cxx 또는 POSIX에 문제가있을 수 있습니다.
'ProgramingTip' 카테고리의 다른 글
Objective-C에서 IBInspectable의 주소를 설정하는 방법은 무엇입니까? (0) | 2020.11.25 |
---|---|
git은 zip 파일을 디렉토리로, zip 내부의 파일을 blob으로 처리 할 수 있 있습니까? (0) | 2020.11.25 |
Java에 SoftHashMap이 있습니까? (0) | 2020.11.25 |
Excel 스프레드 시트 열을 SQL Server 데이터베이스로 가져 오기 (0) | 2020.11.24 |
C ++에서 환경 변수에 액세스 (0) | 2020.11.24 |