适用于 Linux 的 Ada 编译器
我正在对 Linux 上的 Ada 开发进行权衡研究。您有什么好的编译器/操作系统建议吗?
到目前为止,我已经从在 CentOS 5.4 上运行的 AdaCore 获得了 GNAT,并且我已经收到了 Rational Apex 和 Aonix ObjectAda 的许可证请求。
这是一个移植工作。原始代码库是 OSF1 4.0d 上的 Apex 3.0。
我还应该考虑什么吗?理想情况下,这将是一个受支持的环境。
I'm doing a trade study for Ada development on Linux. Do you have any good compiler/OS recommendations?
So far, I've got GNAT from AdaCore running on CentOS 5.4, and I have license requests in for Rational Apex and Aonix ObjectAda.
This is a porting effort. The original codebase is Apex 3.0 on OSF1 4.0d.
Anything else I should be considering? Ideally, it would be a supported environment.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您需要考虑的一个问题是确定要移植的系统在多大程度上利用供应商提供的软件包来执行其功能。我在较旧的大型系统(尤其是 Apex 系统)中看到的是,语言专家在开发期间倾向于认为普通 Ada 不够好,因此与所有这些供应商提供的软件包结合在一起。如果这就是您的系统现在所做的,那么这是在供应商内部进行升级并坚持使用 Apex 的有力理由(所有其他条件基本相同)。
每当我完成此类系统的移植时,如果有机会,我都会尽最大努力撕掉所有供应商提供的东西——十分之九用普通 Ada 实现替换供应商特定的东西也同样有效,并且您不再需要处理特定于编译器的包的怪癖。另外,您还可以提高系统的可移植性和可维护性,使其能够更好地适应未来的变化。
One issue you need to take into consideration is to determine to what degree your system that's being ported utilizes vendor-supplied packages to perform its function. What I've seen with older, large systems, especially Apex ones, is a propensity for the language gurus during its development time to have decided that vanilla Ada just wasn't good enough, and so tie into all these vendor-supplied packages. If that's what your system does right now, it's a strong argument for upgrading within the vendor and sticking with Apex (all other things being mostly equal).
Whenever I've done ports of such systems, if given the opportunity I've done my best to tear out all the vendor-supplied stuff--nine times out of ten replacing the vendor-specific stuff with vanilla Ada implementations worked just as well, and you no longer have to deal with the quirks of a compiler-specific package. Plus, you increase the portability and maintainability of the system, allowing it to better adapt to future changes.
总会有 SPARK,但我相信它是 Ada 语言的专门/子集版本。您可能需要联系 SigAda 或 Ada usenet 小组,看看是否有任何其他想法。
但老实说,GNAT 是一个很棒的工具集。您可以使用 GNATBench(一个 Eclipse 界面)或 GPS(一个轻量级 GTK+ IDE)来与 GNAT 工具交互。
There is always SPARK, but I believe its a specialized/subsetted version of the Ada language. You might want to contact SigAda or the Ada usenet group to see if there are any other ideas.
Honestly though, GNAT is a great tool set. You can use GNATBench, an Eclipse interface, or GPS, a light-weight GTK+ IDE, to interface with the GNAT tools.
我知道的其他编译器有 Green Hills AdaMULTI(适用于各种 RTOS)和 < a href="http://www.ddci.com/products_SCORE-t-80x86Pentium-l-Ada" rel="nofollow noreferrer">DDC-I 的 SCORE(也适用于各种 RTOS)
Other compilers I am aware of are Green Hills AdaMULTI (for various RTOSes), and DDC-I's SCORE (also for various RTOSes)
支持 Linux 的经过认证的编译器提供商(除了问题中列出的提供商之外):
Irvine Compiler Corp.
< a href="http://www.ocsystems.com/" rel="nofollow noreferrer">OC 系统
RR 软件
Sofcheck
Providers of certified compilers that support Linux (in addition to those listed in the question):
Irvine Compiler Corp.
OC Systems
RR Software
Sofcheck