clang不能编译linux kernel的原因,主要是因为kernel使用了gcc特有的extension。
还有assembler、linker的原因。
另外,clang不支持C的下面三种特性:
o Variable length arrays inside structures
o Nested Functions
o Explicit register variables
https://linuxembedded.fr/2019/08/my-first-linux-kernel-built-with-clang-compiler
【 在 lambdai 的大作中提到: 】
: c一样有很多在语言层面不可控的
: 不过操作系统这个圈子的还可以影响编译器圈,使得c的整体环境变得更加可控
: 否则的话,为什么clang很长时间内不能编译内核?你能说是clang没有实现c的规范吗?
: ...................
--
修改:z16166 FROM 123.115.161.*
FROM 123.115.161.*