3

我想知道 GNAT 支持哪些 CPU 架构,尤其是在嵌入式领域。Ada 是否也自动支持 gnu C 编译器支持的每个目标?

4

3 回答 3

3

更严重的是,快速阅读man gcc表明我在语言和架构之间没有限制。并不是说可能不存在。

有希望的是,声明:

如果特定选项的描述未提及源语言,您可以将该选项与所有支持的语言一起使用。

fromman gcc似乎对您的问题表示“是”。

于 2012-05-11T15:56:24.370 回答
3

AdaCore 的嵌入式开发页面有该列表。

于 2012-05-11T20:56:36.010 回答
1

这是我为 Freenode 上的#Ada IRC 频道写的事实,它回答了你的问题:

目标x:理论上任何平台都可以被Ada编译器作为目标,实际上它取决于目标的硬件,即如果目标是嵌入式的并且非常有限,那么您可能只能在所述目标上实现Ada的一个子集。或者:查看您感兴趣的特定目标是否可以被 Ada 定位的一个好方法是检查目标 CPU 是否受 GCC 后端支持,如果支持,则查看 GNAT 是否有前端最后,它可能只支持一个子集,它可能根本不支持它,在这种情况下,你必须在编译器的 GNAT 前端做一些工作来支持这个目标。或者:GCC 后端列表可以在http://gcc.gnu.org/backends.html找到 或者:您可以通过查看 /gcc/ada/gcc-interface/Makefile.in 中的模式匹配行来了解 GNAT 是否支持特定的 CPU/OS 组合,方法是查看类似于“ifeq ($(strip $(filter- out mips% wrs vx%,$(targ))),)" 此模式将 MIPS CPU 与 Wind River Systems vxWorks 操作系统相匹配。或:有关硬件特定选项,请参见 GCC 手册的第 3.17 节,http ://gcc.gnu.org/onlinedocs

我将把上面的链接添加到 AdaCore。

于 2012-05-21T11:44:22.947 回答