Портирование приложения для Windows / Mac, написанного на Ada, на iOS - PullRequest
4 голосов
/ 25 мая 2011

У меня есть приложение-словарь (принимает текст в качестве входных данных, выводит определения + анализ грамматики). У меня есть все исходные файлы (около 50 страниц кода), написанные на Ada, а также исполняемые файлы Windows и Unix. Я хочу использовать этот словарь в приложении для iOS.

Я совсем не знаком с Ada, поэтому мой вопрос в двух словах: есть ли какие-нибудь ярлыки, чтобы каким-то образом обернуть приложение и использовать его на iOS? Или единственный способ переписать все приложение на C / Objective-C?

Ответы [ 2 ]

4 голосов
/ 25 мая 2011

Я хочу использовать этот словарь в приложении для iOS.

Что ж, если есть компилятор Ada, предназначенный для iOS - и, вероятно, он рассматривает, что GCC имеет внешний интерфейс Ada - тогда повторное использование пакетов должно быть простым, так долгопоскольку исходный код не является компилятором (для другого компилятора) или специфичен для конкретной архитектуры.

Самый большой опыт, который я имею при переносе Ada на другие архитектуры, заключался в переносе некоторого кода, скомпилированного на нативный компьютер,JVM (есть компилятор Ada, который нацелен на JVM);"ошибки" были более похожи на чувствительность к регистру JVM, взаимодействуя с нечувствительностью к регистру Ады для именования классов и пакетов.

3 голосов
/ 27 мая 2011

Shark8 упомянул Аду, нацеленную на JVM.ACT продает версию Gnat, предназначенную для JVM.Тем не менее, Я не верю, что устройства iOS в настоящее время используют Java .Apple не хочет терять контроль над платформой, поэтому они не допускают никаких сред разработки, кроме своей собственной, основанной на Objective C.Я понимаю, что люди Java работают над этим, но даже если они это сделают, Apple, вероятно, откажется пускать любое подобное приложение в свой интернет-магазин.Обратите внимание, что это не проблема, уникальная для Ады.Любое приложение, написанное на любом языке, кроме C или Objective C, имеет ту же проблему с iOS.(Это одна из многих причин, по которым разработчики предпочитают ориентироваться на платформы Android, а не на iOS).

Так что вам действительно нужно то, что может сделать ваш код совместимым с компилятором Apple Objective C.Предположительно Objective C является строгим надмножеством C. Если это верно для реализации Apple, то компилятор Ada, который выводит компилируемые исходники C, должен выполнить эту работу за вас.по крайней мере, раньше). AdaMagic в одном месте C был доступен как "цель".Это теперь продано SofCheck .Когда в последний раз я видел обсуждение этого годами и годами назад, они называли его «сервисом» в той же мере, что и компилятором, поэтому он может быть не дешевым.Но если у вас есть реальная потребность в бизнесе, это, безусловно, будет дешевле, чем тратить человеко-годы на переписывание рабочего приложения.

Другой вариант, конечно, будет сказать: «Винт Apple и их ОС ОС» и сниматьдля Android вместо.К сожалению, по деловым причинам это может оказаться невозможным.: - (

Обновление (2016/2012) : активы SofCheck стали доступны от AdaCore, поскольку две компании объединились в начале 2012 года.

...