The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"компиляция программ на С/С++ на android-устройстве"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Портативные устройства, платы и ноутбуки (Android)
Изначальное сообщение [ Отслеживать ]

"компиляция программ на С/С++ на android-устройстве"  –1 +/
Сообщение от Phantom Lord (ok), 16-Май-10, 21:33 
В данный момент я выбираю, какой взять мобильный девайс. Выбор происходит между nokia n900 на maemo и каким-то другим девайсом на андроиде.

Изучив имеющуюся инфу, я сделал вывод, что maemo - это полноценный линукс (причем мой любимый debian-based smile.gif). Судя по всему, на нем можно собрать из исходников любую программу, написанную под линукс, используя тамошний GCC.

Главный вопрос, который меня интересует по поводу андроида: возможно ли компилировать программы, написанные на с/c++ непосредственно на самом девайсе? Если да, то что будет на выходе: байт-код или машинный код?
Мне удалось найти лишь упоминания sdk, генерирующего байт-код, и в котором нужно писать на жабе, и некого ndk, поддерживающего c/c++, который генерит машинный код и не может давать байт-кода. Но это пол беды. Проблема в том, что оба development kit-а нужно юзать на ПК, а на девайс загружать уже готовые бинарники. Это же полный ахтунг!!! Хочется надеяться, что и на девайсе можно полноценно писать программы без гемора с компом.

Ну или на крайняк, возможно ли собрать на компе из исходников GCC, и залить его для работы на девайсе?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "компиляция программ на С/С++ на android-устройстве"  –1 +/
Сообщение от android (??), 05-Июл-10, 17:55 
>
>Главный вопрос, который меня интересует по поводу андроида: возможно ли компилировать программы,
>написанные на с/c++ непосредственно на самом девайсе?

нет

>Если да, то что
>будет на выходе: байт-код или машинный код?
>Мне удалось найти лишь упоминания sdk, генерирующего байт-код, и в котором нужно
>писать на жабе, и некого ndk, поддерживающего c/c++,

да, можете написать библиотеку на любом c/c++ языке
а потом написать обёртку на java

потому что все прилоджения в андроиде работают через ява виртуальную машину
запускаються, управляються и так далее

Ответить | Правка | Наверх | Cообщить модератору

2. "компиляция программ на С/С++ на android-устройстве"  –1 +/
Сообщение от The_Anonimous (ok), 02-Сен-10, 00:08 
>потому что все прилоджения в андроиде работают через ява виртуальную машину
>запускаються, управляються и так далее

В общем жуткое извращение. С явой возиться - придется. И стандартных либ тулкитов типа gtk или qt в андроиде нету. Поэтому как максимум можно без геморроя написать демон. А что-то графическое - извините, попадание на извращения. Maemo в этом плане настоящий Linux. Можно бинарники запускать без извращений. И раздать их всем пользователям можно через репы Extras. Можно даже gcc на сам девайс поставить если зачем-то оно оказалось надо. И есть gtk и qt сразу. Если графические программы писать на сях или плюсах, n900 будет явно удобнее.

Ответить | Правка | Наверх | Cообщить модератору

4. "компиляция программ на С/С++ на android-устройстве"  +/
Сообщение от anonymous (??), 18-Мрт-18, 03:10 
>>потому что все прилоджения в андроиде работают через ява виртуальную машину
>>запускаються, управляються и так далее
> В общем жуткое извращение. С явой возиться - придется. И стандартных либ
> тулкитов типа gtk или qt в андроиде нету. Поэтому как максимум
> можно без геморроя написать демон. А что-то графическое - извините, попадание
> на извращения. Maemo в этом плане настоящий Linux. Можно бинарники запускать
> без извращений. И раздать их всем пользователям можно через репы Extras.
> Можно даже gcc на сам девайс поставить если зачем-то оно оказалось
> надо. И есть gtk и qt сразу. Если графические программы писать
> на сях или плюсах, n900 будет явно удобнее.

Qt есть

Ответить | Правка | Наверх | Cообщить модератору

3. "компиляция программ на С/С++ на android-устройстве"  +1 +/
Сообщение от SR_teamemail (?), 20-Мрт-17, 10:48 
>[оверквотинг удален]
> будет на выходе: байт-код или машинный код?
> Мне удалось найти лишь упоминания sdk, генерирующего байт-код, и в котором нужно
> писать на жабе, и некого ndk, поддерживающего c/c++, который генерит машинный
> код и не может давать байт-кода. Но это пол беды. Проблема
> в том, что оба development kit-а нужно юзать на ПК, а
> на девайс загружать уже готовые бинарники. Это же полный ахтунг!!! Хочется
> надеяться, что и на девайсе можно полноценно писать программы без гемора
> с компом.
> Ну или на крайняк, возможно ли собрать на компе из исходников GCC,
> и залить его для работы на девайсе?

Собирать бинарники на андроиде можно через C4Droid, GCC с полной библиотекой STL портирован. Графику умеет через NDK, SDL, QT

Ответить | Правка | Наверх | Cообщить модератору

5. "компиляция программ на С/С++ на android-устройстве"  +/
Сообщение от Anonymous090909090 (?), 04-Фев-25, 23:15 
>[оверквотинг удален]
> будет на выходе: байт-код или машинный код?
> Мне удалось найти лишь упоминания sdk, генерирующего байт-код, и в котором нужно
> писать на жабе, и некого ndk, поддерживающего c/c++, который генерит машинный
> код и не может давать байт-кода. Но это пол беды. Проблема
> в том, что оба development kit-а нужно юзать на ПК, а
> на девайс загружать уже готовые бинарники. Это же полный ахтунг!!! Хочется
> надеяться, что и на девайсе можно полноценно писать программы без гемора
> с компом.
> Ну или на крайняк, возможно ли собрать на компе из исходников GCC,
> и залить его для работы на девайсе?

Посмотрите в сторону Termux (ставить с GitHub или F-Droid, НЕ через Google Play)- в нем можно ставить пакеты через apt (их уже реально полно), в том числе компиляторы, отладчики (для 32-bit Arm выбор поменьше, для 64-bit Arm вот прям много всего). Есть возможность  поставить разные Linux дистрибутивы в самом Termux через proot (только в них будет лишь один пользователь, которому внутри системы (_только_внутри_Termux_) будет можно всё).

Есть возможность эмуляции систем (в том числе, с другими архитектурами) через qemu, с падением производительности, конечно.

Также легко поставить еще и Termux-X11, добавить через установку пакета "x11-repo" репозиторий графических приложений и поставить, например, XFCE или что-то другое и получить рабочий стол Linux прямо на смарте/планшете c блэкджеком и феями. Прикольно компилировать и запускать бинарники с графикой/GUI прямо в Termux или же в рабочем столе Linux.

Есть проект buildAPKs, позволяющий собирать apk для Android изнутри этой замечательной программы прямо на смарте.

На мощных телефонах народ гоняет в х86 и х86_64 windows программы(игры) через Termux-Box.

На Андроид 12 и 13 (что там выше, не узнавал) есть ограничение системы на количество одновременно работающих процессов, из-за чего многие прелести могут перестать работать (система их прибьет для экономии заряда батареи), но его можно снять через adb парой команд.

Имхо, Андроид аппараты теперь дадут линуксоиду не меньше, чем ванильная Maemo лохматых годов, которая уже давно, а то и больше.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру