linux 内核社区正围绕一项关键变更展开讨论:在即将发布的 linux 6.19 版本中,内核构建系统或将默认开启 -fms-extensions,即启用 microsoft 的 c 语言扩展支持。相关补丁已提交至 kbuild-next 分支,表明该功能正在向主线逐步推进。

GCC 和 Clang 均支持 -fms-extensions,该选项允许使用部分微软风格的 C 语法特性,例如更宽松的结构体(struct)和联合体(union)嵌套方式,有助于简化特定场景下的代码编写。尽管此前已有类似尝试,但均未成功;而此次补丁不仅为主构建流程启用了该标志,还确保了那些自定义 CFLAGS 的架构也能统一应用。
值得注意的是,Linus Torvalds 在邮件列表中的回应并未对该提案提出异议,这一态度显著提升了该补丁被合入 Linux 6.19 的可能性。
一旦最终并入主线,这将是内核首次默认接纳 Microsoft 的 C 扩展,意味着开发者可在需要时直接使用这些语法,而不必每次为个别用例单独申请特例或发起争论。不过,也有声音指出,此举可能带来代码可移植性下降以及编码规范统一性受损的风险。
目前该补丁仍处于观察阶段,其最终命运将在 Linux 6.19 的合并窗口期间决定。
源码地址:点击下载










