GNAT支持的目标架构列表是什么?

4

我想知道在嵌入式领域,GNAT支持哪些CPU架构。每个目标是否都被GNU C编译器自动支持Ada语言?


这里有个吹毛求疵的人 - 你说的 GNU C 编译器是指 GCC 吗?如果是,现在它正式更名为 GNU 编译器集合。 - NWS
1
不,我的意思是 gcc(GNU 编译器集合)中的 C 编译器。 - Kim Stebel
3个回答

3

更重要的是,快速阅读 man gcc 没有显示语言和架构之间的任何限制。并不是说没有限制存在。

但值得注意的是,man gcc 中的以下陈述:

如果某个选项的描述没有提到源语言,则可以将该选项与所有支持的语言一起使用。

似乎暗示您的问题是可行的。


这句话的意思是所列出的所有选项适用于所有源语言。不幸的是,man gcc-b 选项没有任何说明。 - Kim Stebel
好的,你仍然需要一个运行时库,这取决于目标架构。 - Rommudoh

3

1
很遗憾,这个链接已经失效了。 - Andy Preston

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中类似于“ifeq ($(strip $(filter-out mips% wrs vx%,$(targ))),)”的模式匹配行来了解GNAT是否支持特定的CPU / OS组合,此模式匹配MIPS CPU与Wind River Systems vxWorks操作系统。 或者:请参阅GCC手册第3.17节以获取硬件特定选项,http://gcc.gnu.org/onlinedocs

我将把上述链接添加到AdaCore。


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