programing

C 표준 라이브러리와 C POSIX 라이브러리의 차이점

bestcode 2022. 8. 29. 22:11
반응형

C 표준 라이브러리와 C POSIX 라이브러리의 차이점

"C standard lib"와 "C POSIX lib"에 정의되어 있는 많은 헤더 파일도 "C standard lib"의 일부라는 것을 알게 되었기 때문에 "C standard lib"와 "C POSIX lib"에 약간 혼동됩니다.

따라서 "C standard lib"는 ANSI C 조직에 의해 정의된 lib로 플랫폼(Win32/Unix)마다 다른 구현이 있으며, "C POSIX lib"는 Unix와 같은 OS에서 "C standard lib"를 구현한 것일 뿐입니다.

그러나 "C POSIX lib"에는 "C standard lib"에 지정되지 않은 다음과 같은 헤더가 포함되어 있습니다.<sys/types.h>,<sys/wait.h>,그리고.<pthread.h>.

가지고 가다<pthread.h>예를 들어, 나는 그것의 "C standard lib"의 대응책이 다음과 같다고 생각한다.<threads.h>Linux에서 멀티 스레드 프로그램을 작성하려면 어떤 헤더 파일을 포함해야 합니까?<pthread.h>또는<threads.h>?

POSIX는 표준 C 라이브러리의 슈퍼셋이므로 이를 준수한다는 점에 유의하십시오.C와 POSIX가 충돌할 경우 C가 승리합니다.

소켓, 파일 기술자, 공유 메모리 등은 모두 POSIX의 일부이지만 C 라이브러리에는 존재하지 않습니다.

pthread.hPOSIX 스레드에 사용됩니다.threads.h는 C11의 새로운 헤더로 C 라이브러리의 일부입니다.Pthreads는 향후 C를 위해 권장되지 않을 수 있지만, C11이 널리 도입될 것이라고는 기대할 수 없습니다.따라서 휴대성을 원한다면 pthreads를 우선시해야 합니다.휴대성이 문제가 되지 않고 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-Like, 임베디드 기기에서는 ANSI C를 쉽게 쓸 수 있지만 Cxx 또는 POSIX에 문제가 있을 수 있습니다.

언급URL : https://stackoverflow.com/questions/9376837/difference-between-c-standard-library-and-c-posix-library

반응형