oo_*_*_oo 19 linux gcc linux-kernel
我想知道是否有人设法使用除gcc之外的其他编译器来编译Linux内核.或者,如果有人尝试过?问题可能看起来很愚蠢或者是学术性的,但是当我想到答案时它就出现了:C++ int操作是否在mips体系结构上是原子的
似乎某些操作的原子性不仅取决于cpu体系结构,还取决于使用的编译器.所以,我想知道在Linux世界中是否存在除gcc之外的一些编译器.
IBM的编译器能够在一些Linux版本之前完成它,但我现在不确定,也不确定IBM如何按照指示优化内核.我所知道的是,他们得到了它.
由于Linux是自托管(具有自己的libc)并且从一开始就使用gcc(和gcc交叉编译器)开发,因此使用其他任何东西都是愚蠢的.
我认为主要是,使用预处理器宏和指示优化是最好的障碍(甚至没有脱离天然气),因为GNU已经基本上写了上面的书,并扩展了它.除此之外,Linux调整其优化以使用gcc,例如,不要在内核中使用"volatile"而没有充分理由.使用内联并实际让编译器同意是另一个挑战.
Linus是第一个将GCC称为&*#$ hole的人,这使得编译器更好.
这就是为什么我们有很好的GNU/Linux辩论.