Browsed by
标签: GNU

GCC 用 C++ 来编译

GCC 用 C++ 来编译

GCC在2012年8月15日的时候,merge了一个patch – Merge from cxx-conversion branch,这意味着,以后在GCC的编译只能用C++的编译器了,也意味着,gcc的实现代码开始转向C++了。

你可能会有两个问题,

  • 一个问题是为什么GCC要转成C++的实现?
  • 没有C++的编译器,我怎么编译C++编译器的代码?这不是“鸡生蛋还是蛋生鸡”的问题么?

那,我们来看一看吧。

为什么要用C++

GNU的C++ Conversion文档中,我们可以在Background中看到这样的描述:

Whether we use C or C++, we need to try to ensure that interfaces are easy to understand, that the code is reasonably modular, that the internal documentation corresponds to the code, that it is possible for new developers to write new passes and to fix bugs. Those are the important issues for us to consider. The C++ features which are not present in C — features which are well documented in many books and many web sites — are not an important issue.

这句话的意思可以理解为,今天GCC在用C语言的实现已经有点hold不住了,因为,开发人员觉得,不管我们用C或C++,都需要努力确保接口是容易理解的,这样我们的代码是想当理性地被模块化的,这样内部文档和代码一致,这样可以更好地组织代码,这样有利于新人了fix-bug。而C++正好可以让他们更好的完成这些东西。

GNU还给出了下面这些理由:

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (22 人打了分,平均分: 3.59 )
Loading...
GNU/Linux下有多少是GNU的?

GNU/Linux下有多少是GNU的?

一个葡萄牙的学生写了一篇文章 《How much GNU is there in GNU/Linux?》 – GNU/Linux下有多少是GNU的。他的这篇文章主要分布了今年4月份的Ubuntu Natty的Linux分发包。其主要是用代码行来做的分析,其给了两个饼图。

第一个饼图如下,其指明了各种主流的开源项目组的分布情况。可见GNU只占了8%,当然,GNome也是GNU的,加起来也只有13%,只占整个分发包很少的比重。

第二个图,作者把GNU的部分拿了出来,再进行了分析:

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (15 人打了分,平均分: 3.53 )
Loading...
狗日的开源软件许可证

狗日的开源软件许可证

你知道这个世上有多少种开源软件的许可证吗?GPL,BSD,MIT,Apache?GNU上有个网页,上面记录了几乎所有的开源软件的许可证,真TMD的多,有开源的,有商用的,有软件的,有文档的,多得你都不想看了,天杀的,程序员们还真能鼓捣啊。不过,主流的也就几种——GPLBSDMITMozillaApache等等。

那么,你知道怎么区别他们吧?怎么选择他们吗?这里有一张比较复杂的图,在调侃这些纷繁的许可证(我不翻译了,这个图属于是发泄不满)

下面是另一个图,这个图来自这里,这个图并不恶搞,但其非常简单地说明了如何选择一个开源的许可证:

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (16 人打了分,平均分: 3.94 )
Loading...