7

我试图了解 Adacore Libre 版本随附的 Gnat 编译器与 Linux 发行版或 MinGw 中的 gcc 标准版本之间的根本区别。

我认为主要区别可能是 Adacore 版本始终是最新版本,而您从 Linux 发行版中获得的可能是发行版打包之日可用的版本。

但是也有功能上的区别吗?这意味着 Adacore 版本中是否有任何改进的功能,它们不会发布到 Gnu 提供的通用开源版本?

我不是一个非常有经验的 Linux 用户,所以很抱歉,如果这对 Gnu/开源世界有更多的经验是透明的,但我找不到任何关于这个的信息。

4

1 回答 1

10

通过阅读 Ludovic Brenta 和 Stephen Leake 为 Ada 编写的 Debian 政策:当构建 Ada 代码以生成可执行文件时,它与 Ada 运行时库链接。不同版本的 GNAT 编译器之间的主要区别在于 Ada 运行时库的许可。

  1. GNAT 专业版 => GNAT 修改的 GPL
  2. GNAT Libre 版本 => GPL 版本 3
  3. FSF GNAT 版本 => 带有 GCC 运行时库异常的 GPL 版本 3

带有 GCC 运行时库例外的 GNAT-Modified 和 GPL 版本 3 允许开发商业和专有软件。GNAT libre 版本不适合商业软件开发,但非常适合开发自由软件。FSF GNAT 版本似乎比 GNAT Libre 版本晚了大约一年。

我认为 AdaCore 还希望我指出,对于 GNAT Pro 版本,AdaCore 提供了支持,例如,如果在编译器中发现错误,可以通知他们并立即纠正。

于 2014-05-14T13:55:15.290 回答