Linux 커널 버전 6.19는 메인라인 Git에서 Microsoft C Extensions 지원을 활성화했으며 빌드 중에 커널이 통합되었습니다.-fms-확장이 비표준 확장을 사용할 수 있는 문을 여는 컴파일 옵션입니다. 이 변경 사항은 Linus Torvalds의 반대 없이 통합되어 이전에 여러 번 시도되었던 작업이 공식적으로 완료되었습니다.

소위 Microsoft C 확장은 GCC 및 LLVM/Clang이 컴파일 타임에 선택적으로 지원하는 비표준 C/C++ 언어 기능 세트입니다. 원래 Microsoft 헤더 파일에서 사용된 이름을 따서 명명되었으며 Microsoft Visual C/C++ 컴파일러에서 지원됩니다. 이러한 확장을 사용하면 코드에서 표준 C 사양 외부의 특정 작성 방법을 사용할 수 있으므로 Microsoft 에코시스템에서 일부 인터페이스 및 구조 정의를 이식하거나 재사용할 때 더욱 편리해집니다.
이번에 Linux 6.19에서 Microsoft C 확장을 활성화하는 데 중점을 둔 것은 구조 또는 공용체 내에 레이블이 지정된 구조/공용체를 익명으로 포함시켜 유형 정보를 유지하면서 액세스를 단순화하는 것입니다. 개발자들은 이러한 작성 방식이 커널 코드를 어느 정도 "예쁘게" 만들고 유지 관리하기 쉽게 만들 수 있다고 믿습니다. 그러나 이전에 -fms-extensions를 전역적으로 활성화하려는 시도는 메인라인으로 진출하는 데 실패했습니다.
이 옵션은 현재 메인라인 커널 트리에 있으며 일부 하위 시스템에서 시험되고 있으며 Btrfs 파일 시스템 코드는 초기 채택자 중 하나입니다. 공식 Btrfs 변환 예제는 이 확장을 사용하여 구조 정의를 재구성하여 원래 의미를 변경하지 않고 필드 액세스를 보다 직접적으로 만들고 더 많은 하위 시스템의 후속 작업을 위한 참조 템플릿을 제공하는 방법을 보여줍니다.
이 변경 사항에 대한 더 많은 기술적 세부 사항과 코드 조정은 이 Kbuild 병합 제출에서 볼 수 있습니다. 해당 제출물은 개발자가 검토할 수 있도록 커널 소스 코드 저장소에 공개되었습니다.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2ddcf4962c1834a14340a1f50afafc3276c015bd
Linux 6.19에는 스케줄링, 암호화 성능 및 전원 관리와 같은 다른 측면에서도 개선 사항이 도입되었으므로 C 언어 확장에 대한 이러한 변경은 커널 유지 관리 및 코딩 스타일 발전의 새로운 출발점이 될 것입니다.