C2x

C2x

C2x는 다음 (C17 이후) 주요 C 언어 표준 개정의 비공식적인 이름이다.[1][2] 그것은 2023년에 투표될 것으로 예상되며 따라서 C23이 될 것이다.[3]

특징들

최신 작업 초안에 통합된 변경사항은 다음과 같다.

  • 부동 소수점 산술에 대한 IEEE 754 표준의 최신 버전인 ISO/IEC 60559:2020에 대한 지원.
  • 단일 주장 _Static_assert
  • C++11 스타일 속성 구문 및 nodiscard, maybe_unused, deprecated, 그리고 fallthrough 특성
  • 확장 이항 부동 소수점 산술
  • memccpy(), strdup(), strndup()POSIXSVID C 확장에서 찾을 수 있는 기능과 유사
  • 2의 보완 부호 표현 필요
  • K&R 기능 정의 제거
  • 선언 앞에 라벨을 표시하고 복합 문 끝에 라벨을 표시할 수 있음
  • 함수 정의에[4] 이름 없는 매개 변수
  • 다음과 같은 이진 리터럴 0b10101010, 그리고 %b 에 대한 변환 지정자 printf() 직계 가족
  • 어레이와[5] 함께 const를 사용할 수 있는 향상된 지원
  • 선택한 정수 산술 수행을 위한 일반 함수 입력(Integer 오버플로)
  • _BitInt(N) 그리고 UnsignedBitInt(N) 비트 전송 정수의 유형
  • #elifdef와 #elifndef
  • 숫자 구분 기호: 0xFFF'FFFF

추가로 제안된 기능은 다음과 같다.

  • 표준화 typeof(...) (유형) 연산자[6]
  • 전처리에 이진 리소스를 포함하기 위한 기능(#embed)
  • 가변적으로 수정된 유형(스택의 VLA는 제외)이 필수 기능이 됨

지원

GCC 9,[7] Clang 9.0 [8]및 Pelles C 11.00[9] 컴파일러는 이 표준을 지원하기 위해 컴파일러 플래그를 구현한다.

참조

  1. ^ "History of C". cppreference.
  2. ^ Keaton, David (2016-09-19). "WG 14 N 2086 -- C2x Charter". www.open-std.org. Retrieved 2021-01-03.
  3. ^ "Revised C23 Schedule WG 14 N 2759" (PDF). www.open-std.org. Retrieved 2021-06-19.
  4. ^ "Proposal for C2x WG14 N2480" (PDF). www.open-std.org.
  5. ^ "C2x Proposal: WG14 N2607" (PDF). www.open-std.org.
  6. ^ Meneide, JeanHeyd (2021-05-15). "Not-So-Magic - typeof(…) in C". Retrieved 2021-12-04.
  7. ^ "GCC 9 Changes". GCC 9 Release Notes.
  8. ^ "Add a new language mode for C2x". LLVM Project Repository.
  9. ^ "major changes between 10.00 and 11.00".

외부 링크

선행자 C 언어 표준 최신