Namespaces
Variants

C compiler support

From cppreference.net
< c

목차

C23 기능

이 목록은 C23/2x 표준 초안이 발전함에 따라 변경될 수 있습니다.

C23 코어 언어 기능

**번역 결과:** **번역 설명:** - HTML 태그와 속성은 그대로 유지되었습니다 - ` ` 태그 내의 `noreturn` 텍스트는 C++ 관련 용어로 번역하지 않았습니다 - 숫자 값(13, 15, 6.5, 2022.2)과 문서 번호(N2764)는 번역 대상이 아니므로 그대로 유지되었습니다 - 표의 빈 셀들은 내용이 없으므로 번역할 텍스트가 없습니다 - 모든 원본 형식과 구조가 정확하게 보존되었습니다
C23 기능

논문

GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray
static_assert 메시지 없는 N2265 9 9 Yes Yes 6.5 2021.1.2 (clang based)
[[ nodiscard ]] N2267 10 9 지원 6.4 2021.1.2 (clang based)
[[ maybe_unused ]] N2270 10 9 지원 6.4 2021.1.2 (clang 기반)
[[ deprecated ]] N2334 10 9 지원 6.4 2021.1.2 (clang 기반)
속성 N2335
N2554
10 9 지원 6.4 2021.1.2 (clang based)
IEEE 754 십진 부동소수점 타입 N2341 4.2 (부분적)*
12
13.0 (부분적)*
[[ fallthrough ]] N2408 10 9 지원 6.4 2021.1.2 (clang 기반)
u8 문자 상수 N2418 10 15 6.5 2022.2
프로토타입 없는 함수 정의 제거 N2432 10 15 2022.2
[[ nodiscard ]] 메시지와 함께 N2448 11 10 지원 6.4 2021.1.2 (clang 기반)
함수 정의에서 이름 없는 매개변수 N2480 11 11 Yes 6.4 2021.1.2 (clang based)
Labels 선언 앞과 블록 끝에 레이블 사용 N2508 11 16 부분 지원* 6.5 17.0 *
이진 정수 상수 N2549 4.3 *
11
2.9 *
9
19.0 (2015)* * 6.5 11.0 *
__has_c_attribute 전처리기 조건문에서 N2553 11 9 지원 6.5 2021.1.2 (clang 기반)
중복 속성 허용 N2557 11 13 Yes 6.5 2021.4 (clang-based
IEEE 754 교환 및 확장 타입 N2601 7 (부분적)*
14
6 (부분적)* 부분적*
숫자 구분자 N2626 12 13 19.0 (2015)* * 지원 6.5 18.0 *
#elifdef #elifndef N2645 12 13 19.40* 13.1.6* 6.5 2021.4
u8 문자열 리터럴 의 타입 변경 N2653 13
[[ maybe_unused ]] 레이블용 N2662 11 16 6.5 2022.2
#warning N2686 6.5
비트 정밀 정수형 ( _BitInt ) N2763 14 (부분적)* 15 6.5 2022.2
[[ noreturn ]] N2764 13 15 6.5 2022.2
[[ noreturn ]] N2764 13 15 6.5 2022.2
비트 정밀도 정수 상수를 위한 접미사 N2775 14 15 2022.2
__has_include 전처리기 조건문에서 N2799 5 19.11* 6.5 18.0
유니코드 표준 부속서 31을 사용한 식별자 구문 N2836 13 15 6.5 2022.2
프로토타입 없는 함수 선언 제거 N2841 13 15 2022.2
빈 초기화 N2900 부분적*
13
부분적* 부분적* 부분적* 부분적*
typeof typeof_unqual N2927
N2930
부분적*
13
부분적*
16
19.39* 부분적* 부분적* 부분적* 부분적*
키워드의 새로운 철자법 N2934 13 16 6.5
미리 정의된 true false N2935 13 15 2022.2
[[ unsequenced ]] [[ reproducible ]] N2956 15
가변 인수 매개변수 목록에 대한 요구 사항 완화 variadic parameter list N2975 13 16 6.5 2023.1
객체 정의에서의 타입 추론 N3007 13 18
#embed N3017 15 19
constexpr 객체 N3018 13 19
향상된 일반 열거형 N3029 13 20 *
고정된 기본 타입을 가진 열거형 N3030 13 20 *
__VA_OPT__ N3033 8
13
12 19.39* 6.5
복합 리터럴에 대한 저장류 지정자 N3038 13
nullptr N3042 13 16


C23 기능


문서
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray

C23 라이브러리 기능

C99 기능

C99 핵심 언어 기능

변경된 내용: - "comments" → "주석" - "Yes" → "지원" (기술 문서에서 "Yes"는 일반적으로 "지원"으로 번역) - HTML 태그, 속성, 태그 내의 "//" 주석은 그대로 유지 - C++ 관련 용어는 번역하지 않음 - 원본 형식과 구조 완전히 보존
C99 기능

문서

GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray
식별자의 유니버설 문자 이름 3.1 Yes Yes
증가된 번역 제한 N590 0.9 N/A
// 주석 N644 2.7 지원 지원
restrict 포인터 N448 2.95 지원 부분적 *
향상된 산술 타입 N815
N601
N620
N638
N657
N694
N809
부분적 가능성 있음
플렉시블 배열 멤버 3.0 Yes Yes
가변 길이 배열 (VLA) 타입 N683 0.9 지원
가변 수정 (VM) 타입 N2778 N/A 지원
지정 이니셜라이저 N494 3.0
비상수 이니셜라이저 1.21 N/A
멱등성 cvr 한정자 N505 3.0 N/A
열거자 목록의 후행 쉼표 enumerator-list 0.9 Yes Yes
16진수 부동 소수점 상수 N308 2.8 지원 지원
복합 리터럴 N716 3.1
부동 소수점 환경 부분적 부분적
부호 있는 정수형 나눗셈에 대한 절사 요구 N617 0.9 N/A
main() 함수에서의 암시적 return 0 ; 지원 지원 지원
혼합된 순서의 선언과 문 N740 3.0 Yes Yes
init-statement in for 루프 Yes Yes Yes
inline 함수 N741 4.3 Yes Yes
미리 정의된 변수 __func__ N611 2.95 지원 지원
Cvr 한정자와 함수 선언 내 static in [ ] 3.1 Yes
가변 인자 매크로 N707 2.95
_Pragma 전처리기 연산자 N634 3.0 지원 부분적 *
부동 소수점 평가를 위한 표준 프라그마 N631
N696
아니오 아니오


C99 기능


문서
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray


참고 항목

C++ 문서 에서 컴파일러 지원 참조