C와 C++의 표준 헤더 파일 목록
C와 C++의 모든 헤더 파일 목록은 어디에서 찾을 수 있습니까?
라이브러리를 구축하는 동안 '와 같은 오류가 발생합니다.tree.h not found
이것은 C와 C++의 표준 헤더 파일인 것 같습니다.이것은 저에게 모든 헤더 파일과 그들의 기여를 알고 싶은 호기심을 불러일으켰습니다.
제가 검색할 수 있는 곳이 있나요?
저는 Solaris Unix에서 일하고 있습니다.
머리글 '트리'입니다.h'는 어디에서도 표준이 아닙니다.
C 표준
ISO/IEC 9899:1990 (C89, C90)
C89의 15개 표준 헤더는 다음과 같습니다.
<assert.h> <limits.h> <signal.h> <stdlib.h>
<ctype.h> <locale.h> <stdarg.h> <string.h>
<errno.h> <math.h> <stddef.h> <time.h>
<float.h> <setjmp.h> <stdio.h>
ISO/IEC 9899:1990/Amd.1:1995
C94*(개정판 1)에 도입된 3개의 추가 헤더는 다음과 같습니다.
<iso646.h> <wchar.h> <wctype.h>
ISO/IEC 9899:1999 (C99)
C99의 6개 추가 헤더는 다음과 같습니다.
<complex.h> <inttypes.h> <stdint.h> <tgmath.h>
<fenv.h> <stdbool.h>
ISO/IEC 9899:2011 (C11)
C2011의 추가 헤더 5개(총 29개)는 다음과 같습니다.
<stdalign.h> <stdatomic.h> <stdnoreturn.h> <threads.h> <uchar.h>
ISO/IEC 9899:2018 (C17, C18)
추가 헤더 없음.
ISO/IEC 9899:2023 (C23)
C2023의 추가 헤더 2개(총 31개)는 다음과 같습니다.
<stdbit.h> <stdckdint.h>
일부 헤더는 다음과 같이 구식이 됩니다.
<stdalign.h> <stdbool.h> <stdnoreturn.h>
ISO/IEC 9045:2008(POSIX 2008, 단일 유닉스 규격)
POSIX에는 더 많은 헤더(82개, 모든 C99 헤더 포함)가 필요합니다.아래 목록은 표준 C(C99) 헤더를 반복합니다.물론 Windows에는 다른 헤더 집합이 필요합니다.
<aio.h> <libgen.h> <spawn.h> <sys/time.h>
<arpa/inet.h> <limits.h> <stdarg.h> <sys/times.h>
<assert.h> <locale.h> <stdbool.h> <sys/types.h>
<complex.h> <math.h> <stddef.h> <sys/uio.h>
<cpio.h> <monetary.h> <stdint.h> <sys/un.h>
<ctype.h> <mqueue.h> <stdio.h> <sys/utsname.h>
<dirent.h> <ndbm.h> <stdlib.h> <sys/wait.h>
<dlfcn.h> <net/if.h> <string.h> <syslog.h>
<errno.h> <netdb.h> <strings.h> <tar.h>
<fcntl.h> <netinet/in.h> <stropts.h> <termios.h>
<fenv.h> <netinet/tcp.h> <sys/ipc.h> <tgmath.h>
<float.h> <nl_types.h> <sys/mman.h> <time.h>
<fmtmsg.h> <poll.h> <sys/msg.h> <trace.h>
<fnmatch.h> <pthread.h> <sys/resource.h> <ulimit.h>
<ftw.h> <pwd.h> <sys/select.h> <unistd.h>
<glob.h> <regex.h> <sys/sem.h> <utime.h>
<grp.h> <sched.h> <sys/shm.h> <utmpx.h>
<iconv.h> <search.h> <sys/socket.h> <wchar.h>
<inttypes.h> <semaphore.h> <sys/stat.h> <wctype.h>
<iso646.h> <setjmp.h> <sys/statvfs.h> <wordexp.h>
<langinfo.h> <signal.h>
또한 X/OpenCurs에는 다른 헤더 집합이 필요합니다. 7)이되었습니다(1996년 첫 - 및 C 2009, 11, 11, (Release 7)에 대한 입니다). 주요 차이점은 termcap 및 사전 표준 C에 대한 공식 지원의 손실입니다.<varargs.h>
헤더).
<curses.h> <term.h> <uncntrl.h>
리눅스 표준 기반
다른 헤더를 사용해야 할 수도 있습니다.를 들어, 예를들어대, ▁mention▁for습에 대한 언급은 없습니다.<getopt.h>
그러나 GNU Getopt를 사용하는 경우(예: 긴 옵션의 경우) 해당 헤더가 필요하고 사용됩니다.LSB, Linux Standards Base에 따라 Linux에서 표준으로 제공됩니다.LSB의 이전 버전은 여러 부분에서 ISO/IEC 23360:2006으로 정의되었습니다. 2014-09-21 현재 LSB의 현재 버전은 4.1이지만 버전 5.0은 베타 버전입니다.문서에는 어떤 헤더가 포함되는지 정의하는 섹션이 있지만, 제가 본 버전에는 편리한 헤더 표가 없습니다.POSIX와 밀접하게 연계되어 있지만 POSIX가 정의하는 것 이상의 추가 기능이 있습니다.
C++ 표준
ISO/IEC 14882:1998 (C++98)
이 표준은 C++에 특화된 32개의 헤더를 나열합니다.
<algorithm> <iomanip> <list> <ostream> <streambuf>
<bitset> <ios> <locale> <queue> <string>
<complex> <iosfwd> <map> <set> <typeinfo>
<deque> <iostream> <memory> <sstream> <utility>
<exception> <istream> <new> <stack> <valarray>
<fstream> <iterator> <numeric> <stdexcept> <vector>
<functional> <limits>
또한 C의 헤더에 해당하는 18개의 헤더가 있습니다(C94에 해당).
<cassert> <ciso646> <csetjmp> <cstdio> <ctime>
<cctype> <climits> <csignal> <cstdlib> <cwchar>
<cerrno> <clocale> <cstdarg> <cstring> <cwctype>
<cfloat> <cmath> <cstddef>
D 되지 않는 헤더인 흥게도롭, 부§ D (는 D.7)가 나열되어 있습니다.<strstream>
표준 앞에 언급되지 않은 것. 헤더를 GCCGCC 에해헤포함더당(포함)에 포함합니다.g++
) 7.2.0은 다음과 같은 경고를 생성합니다.
/opt/gcc/v7.2.0/include/c++/7.2.0/backward/backward_warning.h:32:2:
warning: #warning This file includes at least one deprecated or antiquated
header which may be removed without further notice at a future date.
Please use a non-deprecated interface with equivalent functionality
instead. For a listing of replacement headers and interfaces, consult
the file backward_warning.h. To disable this warning use -Wno-deprecated. [-Wcpp]
머글<strstream>
표준의 다른 버전에 명시적으로 나와 있습니다.
ISO/IEC 14882:2011 (C++11)
C++11의 53개의 C++ 헤더는 다음과 같습니다.
<algorithm> <initializer_list> <numeric> <system_error>
<array> <iomanip> <ostream> <thread>
<atomic> <ios> <queue> <tuple>
<bitset> <iosfwd> <random> <type_traits>
<chrono> <iostream> <ratio> <typeindex>
<codecvt> <istream> <regex> <typeinfo>
<complex> <iterator> <scoped_allocator> <unordered_map>
<condition_variable> <limits> <set> <unordered_set>
<deque> <list> <sstream> <utility>
<exception> <locale> <stack> <valarray>
<forward_list> <map> <stdexcept> <vector>
<fstream> <memory> <streambuf>
<functional> <mutex> <string>
<future> <new> <strstream>
C(C11)와 관련된 26개의 헤더는 다음과 같습니다.
<cassert> <cinttypes> <csignal> <cstdio> <cwchar>
<ccomplex> <ciso646> <cstdalign> <cstdlib> <cwctype>
<cctype> <climits> <cstdarg> <cstring>
<cerrno> <clocale> <cstdbool> <ctgmath>
<cfenv> <cmath> <cstddef> <ctime>
<cfloat> <csetjmp> <cstdint> <cuchar>
ISO/IEC 14882:2014 (C++14)
ISO/IEC JTC1/SC22/WG21 사이트에서 초안 표준 N3797을 기반으로 한 임시 헤더 목록.데이터는 아래에 명시된 대로 수정된 섹션 17.6.1.2 헤더의 표 14와 15에서 가져온 것입니다.표준이 발표되지 않았기 때문에(2014-09-21 기준), 이 목록은 아직 확정되지 않았습니다.
C++14의 54개의 C++ 헤더는 다음과 같습니다.
<algorithm> <initializer_list> <numeric> <strstream>
<array> <iomanip> <ostream> <system_error>
<atomic> <ios> <queue> <thread>
<bitset> <iosfwd> <random> <tuple>
<chrono> <iostream> <ratio> <type_traits>
<codecvt> <istream> <regex> <typeindex>
<complex> <iterator> <scoped_allocator> <typeinfo>
<condition_variable> <limits> <set> <unordered_map>
<deque> <list> <shared_mutex> <unordered_set>
<exception> <locale> <sstream> <utility>
<forward_list> <map> <stack> <valarray>
<fstream> <memory> <stdexcept> <vector>
<functional> <mutex> <streambuf>
<future> <new> <string>
C(C11)와 관련된 26개의 헤더는 C++11과 비교하여 변경되지 않습니다.
<cassert> <cinttypes> <csignal> <cstdio> <cwchar>
<ccomplex> <ciso646> <cstdalign> <cstdlib> <cwctype>
<cctype> <climits> <cstdarg> <cstring>
<cerrno> <clocale> <cstdbool> <ctgmath>
<cfenv> <cmath> <cstddef> <ctime>
<cfloat> <csetjmp> <cstdint> <cuchar>
하여 C, 즉 C++11의 C++14의 헤더가 .<shared_mutex>
.
NB:되어 있습니다(NB: 는여개헤나있다습니어열되더가의러초안에▁nbn).<deque>
,<istream>
,<stdexcept>
,<unordered_set>
두 번 두. ++의 표에 되어 있지 . 즉, C++11의 헤더 5개입니다.<exception>
,<iterator>
,<ratio>
,<scoped_allocator>
,그리고.<thread>
은 § 18.8을 정의하고 있기 에,<exception>
24를 정의합니다.<iterator>
은 § 20.11을 정의합니다.<ratio>
30을 정의합니다.<thread>
그리고 § 30.4는 정의합니다.<shared_mutex>
이것은 초안 표준을 최종 단어로 신뢰하지 말아야 하는 이유의 예입니다. 초안 표준에는 오류가 포함되어 있습니다.
ISO/IEC 14882:2017 (C++17)
2017-03-21년 N4659 초안에 기초한 C++17의 헤더 잠정 목록.이것은 섹션 20.5.1.2 헤더의 표 16과 17을 전사한 것입니다.이것은 최종 기준이 아닙니다. 이론적으로, 무언가가 바뀔 수 있습니다.
61개의 C++ 헤더가 있습니다.
<algorithm> <future> <numeric> <strstream>
<any> <initializer_list> <optional> <system_error>
<array> <iomanip> <ostream> <thread>
<atomic> <ios> <queue> <tuple>
<bitset> <iosfwd> <random> <type_traits>
<chrono> <iostream> <ratio> <typeindex>
<codecvt> <istream> <regex> <typeinfo>
<complex> <iterator> <scoped_allocator> <unordered_map>
<condition_variable> <limits> <set> <unordered_set>
<deque> <list> <shared_mutex> <utility>
<exception> <locale> <sstream> <valarray>
<execution> <map> <stack> <variant>
<filesystem> <memory> <stdexcept> <vector>
<forward_list> <memory_resource> <streambuf>
<fstream> <mutex> <string>
<functional> <new> <string_view>
는 다음과 C++14 비교헤더다같습다니.<any>
,<execution>
,<filesystem>
,<memory_resource>
,<optional>
,<string_view>
,<variant>
.
C(C11)와 관련된 26개의 헤더는 C++11 및 C++14와 비교하여 변경되지 않습니다.
<cassert> <cinttypes> <csignal> <cstdio> <cwchar>
<ccomplex> <ciso646> <cstdalign> <cstdlib> <cwctype>
<cctype> <climits> <cstdarg> <cstring>
<cerrno> <clocale> <cstdbool> <ctgmath>
<cfenv> <cmath> <cstddef> <ctime>
<cfloat> <csetjmp> <cstdint> <cuchar>
참고 항목C++17의 새로운 기능은 무엇입니까?
일부 'C 라이브러리' 헤더는 특히 C++17에서 더 이상 사용되지 않습니다.<ccomplex>
,<cstdalign>
,<cstdbool>
,<ctgmath>
아님)<ciso646>
). C++ 헤더<codecvt>
(C++11에서 추가됨) 또한 C++17에서 더 이상 사용되지 않습니다.
* 날짜의 '1년 차이' 문제는 표준이 승인된 후 표준을 처리하는 데 걸리는 시간 때문입니다.ANSI는 1989년에 원래의 C 표준을 승인했고 ISO는 1990년에 그것을 승인했습니다.수정헌법 1조는 1994년에 승인되었으며 1995년에 발표되었습니다.
여기에서 시도해 보십시오. http://en.cppreference.com/w/
그러나 OS의 헤더 파일을 참조할 수도 있습니다.정보는 MSDN(Windows)에서 수 .man
명령(POSIX 시스템).또는 다른 OS를 사용하는 경우 다른 소스.
http://www.cplusplus.com/reference/ 에는 표준 C++ 헤더와 C 헤더 파일의 C++ 래퍼가 모두 나열되어 있습니다.
tree.h는 표준 라이브러리의 일부가 아닙니다.
저는 C 표준 라이브러리에서 이 위키백과 항목을 찾았습니다. 여기에는 C 헤더 파일 목록과 어떤 표준에 속하는지에 대한 자세한 정보가 들어 있습니다.그것은 여러분에게 멋진 역사적 관점과 비슷한 세부사항들을 제공합니다.
물론 그건 그냥 C야.비슷한 기사가 "C++ 표준 라이브러리"에 있습니다.그것은 또한 그 자체로는 "표준"이 아닐 수도 있지만, C++이 없다면 확장으로 작업하는 데 익숙한 일부 사람들에게 "지독하다"고 느낄 수 있는 다른 라이브러리들에 대한 언급을 가지고 있습니다.
언급URL : https://stackoverflow.com/questions/2027991/list-of-standard-header-files-in-c-and-c
'sourcecode' 카테고리의 다른 글
비밀번호 없이 sudo를 사용하여 mariaDB에 연결 (0) | 2023.06.17 |
---|---|
MS Excel은 결과 값 대신 셀에 수식을 표시합니다. (0) | 2023.06.17 |
Angular 앱에서 rxjs 관련 메모리 누수를 감지하는 방법 (0) | 2023.06.17 |
Python의 로깅 기능에 사용자 지정 로그 수준을 추가하는 방법 (0) | 2023.06.17 |
Panda 'Freq' 태그에서 사용할 수 있는 값은 무엇입니까? (0) | 2023.06.17 |