Может ли GAS (GNU Assembler) компилироваться в iPhone / iTouch? - PullRequest
4 голосов
/ 26 августа 2010

Я программирую некоторые приложения для рынка iDevice с использованием неофициального Open SDK, но мне сложно установить open toolchain в Windows, а не в Linux (я бы использовал Linux, но не могу на своем рабочем компьютере), поэтому программирование в GNU Assembler (GAS).

Возможно ли для GAS настроить iDevice в качестве формата для выходных файлов? Если нет, есть ли ассемблеры на базе Windows или Linux (желательно с открытым исходным кодом), которые можно собрать на iPod touch?

Ответы [ 3 ]

2 голосов
/ 31 августа 2010

Обратите внимание, что gcc или gas - это не последний шаг в создании пакета приложений для iOS. В официальной последовательности сборки XCode следует связывание, объединение UniversalBinary, упаковка и кодирование. Таким образом, вам могут понадобиться инструменты по крайней мере для нескольких из этих шагов, которые выполняются на выбранной вами платформе разработки.

1 голос
/ 05 сентября 2010

Технически, да, вы можете создать кросс-ассемблер и даже кросс-компилятор с помощью цепочки инструментов GNU для iPhone.Магия передает правильную строку-строку в «configure» binutils.Это должен быть --target=arm-apple-darwin плюс аргумент, который я не помню, чтобы сказать binutils, какой набор команд ARM использовать по умолчанию.Так что создание кросс-ассемблера возможно и даже не так сложно.

Но это был бы только один маленький шаг.Вам также понадобится компоновщик, который может обрабатывать файлы Mach-O, и я не знаю, как это настроить.Я знаю, что был полный набор инструментов для кросс-компиляции на iPhone в Linux с использованием оригинального Apple SDK, но с пользовательским кросс-компилятором.Однако Apple явно запретила использовать кросс-компиляторы, главным образом, для запрета кросс-компилятора Flash-to-iPhone.Кроме того, вам необходимо подписать код приложения, и я понятия не имею, есть ли OSS-инструмент, который сможет это сделать.

Как уже говорили другие, приобретите Mac Mini, возможно, подержанныйодин из eBay.Без Mac вы далеко не доберетесь, и даже если бы вы все еще хотели, вам сначала понадобятся глубокие знания о компиляции для iPhone, и вы получите эти знания только на Mac.

Кроме того, вы определенно не понимаетея не хочу жить без хорошего отладчика, инструментов и конструктора интерфейсов для легкой отладки, поиска утечек памяти и построения графического интерфейса.Без Interface Builder вам бы пришлось полностью кодировать GUI вручную, и это займет у вас лот больше времени, а время - деньги.Множество книг и статей было бы бесполезно для вас в значительной степени.В целом, если вы попытаетесь взломать приложение с помощью кросс-компиляции, это будет стоить вашей компании больше денег, чем затрачивание времени на разработку iMac plus.

1 голос
/ 03 сентября 2010

Даже если это технически возможно, я бы предпочел не начинать такое предприятие.Вы можете столкнуться с огромными проблемами, не только касающимися подписи кода, но и одобрения магазина приложений.Apple очень любит людей, использующих только свои официальные инструменты, и запрещает любое использование кросс-компиляторов и тому подобного.Если они обнаружат малейший намек на то, что ваше приложение было создано так, как вы предлагаете, они вполне могут отклонить его.

Даже если они, возможно, не захотят - я бы не стал рисковать.Представьте себе, что вы разрабатываете рабочий процесс, выполняете всю работу, решаете все проблемы с кодированием и другие проблемы, а затем отклоняете ваше приложение Apple.

Привыкнуть к работе с Mac не так уж сложно.По крайней мере, попробуйте, прежде чем рисковать.

...