Adacore Gnat版本和“标准”版本的区别是什么?

7
我正在尝试理解Adacore Libre版本提供的Gnat编译器与Linux发行版或MinGW中标准的gcc附带的编译器之间的基本区别。
我认为主要区别可能在于Adacore版本始终是最新版本,而Linux发行版所提供的版本可能是包装时可用的版本。
但是还有功能上的差异吗?也就是说,Adacore版本中是否有任何改进的功能,他们不会发布到Gnu提供的通用开源版本中?
我不是一个非常有经验的Linux用户,如果这对于更有经验的GNU /开源世界用户来说是显然的,那么请原谅,但我找不到任何相关信息。
1个回答

10
阅读Ludovic Brenta和Stephen Leake撰写的Debian Ada政策:当Ada代码构建为可执行文件时,它会与Ada运行库链接。不同版本的GNAT编译器之间的主要区别在于Ada运行库的许可证。
  1. GNAT Pro版本=> GNAT-Modified GPL
  2. GNAT Libre版本=>GPL版本3/li>
  3. FSF GNAT版本=>带有GCC运行库例外的GPL版本3
GNAT-Modified和带有GCC运行库例外的GPL版本3允许开发商业和专有软件。 GNAT libre版本不适用于商业软件开发,但非常适合开发自由软件。 FSF GNAT版本似乎比GNAT Libre版本晚约一年。
我认为AdaCore也希望我指出,使用GNAT Pro版本,AdaCore提供支持,意味着例如如果在编译器中发现错误,可以通知他们并立即进行纠正。

1
此外,OP所说的AdaCore版本通常比您发行版软件包存储库中找到的版本更新 - 这与任何其他开源项目都是一样的。周围的工具(GPS IDE、SPARK工具包等)由AdaCore直接维护,似乎并不作为GCC的一部分发布。 - ajd
2
GNAT Pro RTS现在附带GCC运行时库异常。 - Simon Wright
Adacore Gnat Pro版本可能更新一些,但Libre版本并不是那么新。FSF Gnat往往基于较新的gcc(现在是gcc4.9,而不是...抱歉我没有Gnat GPL 2014方便查看),但其Ada功能通常落后于Adacore提供的任何一个版本。 - user1818839
好的,谢谢。我认为总结一下:Adacore Libre版本可能比Gnu版本更新,但不允许商业软件开发,而Gnu版本允许此操作,但在功能方面可能较旧。我对最后一点不太确定。这已经是一个很好的基本准则了。 - Rick
1
只要遵循完整的GPL许可证要求,就可以在商业软件开发中合法使用Libre版。然而,AdaCore建议您考虑一下,在没有供应商支持的情况下进行此类商业活动的智慧性,因为缺乏故障修复、更新或咨询支持。 - Marc C
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接