Всем доброго времени суток.
В данной статье я бы хотел рассмотреть способы компилирования С/С++ на ваших iOS девайсах.

Вступление



Возможно информация не нова, но я лично не смог найти пошаговую инструкцию для домохозяек на русском языке. Начиная работу я предполагаю что у владельца девайса уже стоит джейлбрейк и он умеет открывать Cydia и Instalous.

Выбор пути


Как ни странно у нас есть выбор с чем работать. Вы можете пойти unix-путем либо DOS-тропинкой. В обоих случаях вы будете иметь полноценный компилятор Си и сможете писать программы и компилировать их прямо на ваших девайсах.

Надеюсь вы определись по тому начнем.

DOS-way


Этот способ прост в реализации и будет полезен в первую очередь людям начинающим изучение Си и работающим в … BORLAND C 3.1

Для реализации сего способа нам необходимо иметь:


iDOS может быть поставлен на устройство несколькими способами (например его можно скачать здесь 4pda.ru/forum/index.php?showtopic=196188, а можно скачать в Instalous).

Cледующим нашим действием будет заливание Borland C 3.11 на устройство
а именно в папку
/var/mobile/Applications/кваказябра-у-каждого-своя/Documents.
image
image

Далее заходим в недавно установленный iDOS
image
image

В открывшемся терминале нам останется лишь запустить среду разработки
Для этого придется набрать
cd bc/bin
bc
image
Вуаля!
image
image
image

unix-way


Сий метод не так прост как предыдущий и требует отсутствия боязни к консоли.
А еще многие говорят что установка libgcc на iOS приведет к проблемам, но это не так.
Чтоб достигнуть цели вам потребуется:
  • OpenSSH из Cydia.
  • SSH клент для iOS коих тыщи(я предпочитаю Prompt, но есть и всеми любимый iSSH и прочие другие, все они ставятся из Instalous без особых проблем)
  • Доступ к SSH девайса (логин: root, пароль: alpine, хост: localhost )

image
Возможно каких то приложений(например wget или apt) в вашем девайсе не будет, но все что требуется можно дополнительно установить из Cydia.
image
Итак, понеслась
wget http://www.syshalt.net/pub/iphone/gcc-iphone/fake-libgcc_1.0_iphoneos-arm.deb 
//качаем 
dpkg –i fake-libgcc_1.0_iphoneos-arm.deb
//устанавливаем 
apt-get install iphone-gcc
//устанавливаем 
wget http://www.syshalt.net/iphone/gcc-iphone/sdk-2.0-headers.tar.gz
//поскольку человечиские хедеры у нас работать не будут качаем и распаковываем другие
tar -xvzf sdk-2.0-headers.tar.gz
cd include-2.0-sdk-ready-for-iphone
cp –r * /usr/include
cd 
wget http://www.syshalt.net/iphone/gcc-iphone/gcc_files.tar.gz
tar -xvzf gcc_files.tar.gz
cd gcc_files
cp –r * /usr/lib
apt-get install ldid

ну а теперь мы молодцы и можем компилировать командой
gcc –o hell hell.c
ldid –S hell //подписывает приложение чтобы система не удалила его сразу после следующего старта системы
image
Писать программы можно в различных терминальных редакторах. Я предпочитаю nano, который ждет вас в Cydia и запускаться командой nano hell.c.
image
Скомпилированное приложение запускается командой ./hell

На сегодня все.

Спасибо за внимание!