Linux 6.19 内核或将全面启用 Microsoft C 扩展,提升代码灵活性
Linux 内核社区正在讨论一项重要改动:在即将到来的 Linux 6.19 中,内核构建系统可能会默认启用 -fms-extensions,即 Microsoft C 扩展支持。相关补丁已进入 kbuild-next,显示该功能正朝主线合并迈进。
-fms-extensions 由 GCC 与 Clang 支持,可开启部分微软方言的 C 语言语法特性,其中包括更灵活的 struct/union 嵌套方式,可让代码在某些场景更简洁。此前也有人尝试推动启用,但未获通过;这次的补丁不仅在主构建系统添加该选项,也确保对拥有独立 CFLAGS 的架构同样生效。
值得注意的是,Linus Torvalds 在邮件交流中对该提议并未表示反对,使得其进入 Linux 6.19 的可能性大幅提升。
如果最终合并,这将代表内核首次“默认接受”部分 Microsoft C 扩展,允许开发者在必要时直接使用这些语法特性,而无需为每次用例单独提交争论补丁。与此同时,也有人担忧该举措可能影响可移植性和代码规范一致性。
目前补丁仍在观察中,最终命运将在 Linux 6.19 合并窗口敲定。
