Список целевых архитектур, поддерживаемых GNAT?
Я хотел бы знать, какие архитектуры ЦП, особенно во встроенном секторе, поддерживаются GNAT. Все ли цели, поддерживаемые компилятором gnu C, также автоматически поддерживаются для Ada?
3 ответа
Страница разработки встраиваемых систем AdaCore содержит список.
Более серьезно, быстрое чтение man gcc
не показывает мне никаких ограничений между языком и архитектурой. Не то чтобы не может существовать.
Многообещающе, хотя, утверждение:
Если в описании конкретной опции не указан исходный язык, вы можете использовать эту опцию со всеми поддерживаемыми языками.
от man gcc
похоже на ваш вопрос.
Вот фактоид, который я написал для IRC-канала #Ada на Freenode, он отвечает на ваш вопрос:
target x: Теоретически любой платформой может быть назначен компилятор Ada, на практике это зависит от аппаратного обеспечения цели, то есть, если цель встроена и очень ограничена, может быть только подмножество Ada, которое вы можете реализовать на указанной цели. или: Хороший способ узнать, может ли Ada быть нацелен на конкретную цель, которая вам нужна, - это проверить, поддерживается ли целевой процессор бэкэндом GCC, если это так, то вы посмотрите, есть ли у GNAT фронт В конце концов, он может поддерживать только подмножество, он может вообще не поддерживать его, в этом случае вам нужно будет поработать над внешним интерфейсом компилятора GNAT для поддержки этой цели. или: Список бэкэндов GCC можно найти по адресу http://gcc.gnu.org/backends.html или: Вы можете узнать, поддерживает ли GNAT конкретную комбинацию ЦП / ОС, заглянув в /gcc/ada/gcc-interface/Makefile.in, посмотрев на строки сопоставления с образцом, которые выглядят как "ifeq ($(strip $(mips% mrs% wrs vx%,$(targ))))), этот шаблон сопоставляет процессор MIPS с Wind River Системы vxWorks, операционная система. или: см. раздел 3.17 Руководства GCC для конкретных аппаратных опций, http://gcc.gnu.org/onlinedocs
Я добавлю вышеуказанную ссылку на AdaCore.