FreeBSD 为啥要废弃 GCC 改用 Clang/LLVM

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FreeBSD 为啥要废弃 GCC 改用 Clang/LLVM相关的知识,希望对你有一定的参考价值。

因为 GCC 是 GPL/LGPL 的,和 BSD 的协议不兼容(但是 BSD 的源代码可以被 GPL 项目引用,但是会被污染成 GPL)。这不符合 BSD 的协议风格。
所以 FreeBSD 换了编译器,自己写一个编译器还是很不容易的,正好 llvm 是 BSD 的协议。和 FreeBSD 自己的协议完全一样,就拿来用了。
参考技术A 公司投资:就像许多主流的开源项目, FreeBSD从企业获得投资与开发工作
尽管Apple对FreeBSD的投资与开发到了何种程度并不容易揭露,但有相当多的重叠工作,因为Apple的Darwin OS使用了源自BSD的稳定的内核代码
此外,在成为2007年开源项目之前, Clang本身是源自于一个Apple内部项目的。
由于企业资源是FreeBSD项目的关键促进因素,或许迎合赞助商的需求是
一个显著的现实世界的驱动力。

FreeBSD下安装lua

额,一行命令搞定啊

make freebsd CC=clang && make install

 

花了我一晚上,问题是啥呢?

我在Makefile中压根没有看到CC的定义在哪儿,然后直接执行make freebsd的时候,告诉我gcc找不到。

我一想freebsd都不用gcc了,我总不能去为了lua装个gcc吧。

况且freebsd下面安装软件是在蛋疼,但是在Makefile中定义CC=clang似乎有不起作用。

然后今天试了下在命令行指定CC=clang,居然成功了。

以上是关于FreeBSD 为啥要废弃 GCC 改用 Clang/LLVM的主要内容,如果未能解决你的问题,请参考以下文章

FreeBSD下安装lua

为啥安装的freebsd不是图形界面

为啥 malloc 不能在 FreeBSD-x64 内核空间分配大内存?

为啥要为 c 和 c++ 使用 gcc 和 g++ 编译器驱动程序

为啥放弃bootstrap改用完美支持IE8的前端框架

谁知道那有计算机相关的英语单词?