Android — Есть ли на основе Java компилятор C / C ++?

Я понимаю, что если он вообще существует, он в N раз медленнее, чем компилятор, написанный на нативном коде и скомпилированный для конкретной арки. Но в любом случае.

Основная цель состоит в том, чтобы скомпилировать несколько небольших исходных файлов c / c ++ на устройстве Android (arm / x86, ОС на базе linux, dalvik jvm). Исходники могут быть созданы на Android-устройстве пользователя, и компилятор также должен работать на устройстве пользователя.

Какие-нибудь мысли?

2

Решение

Если вашей целью является компиляция файлов c / c ++ на устройстве Android, вы все равно можете использовать компилятор C ++, написанный на C ++, если вы используете NDK

2

Другие решения

Есть C4droid, которая является IDE и компилятором C ++ на Android. Некоторые плагины позволяют вам использовать библиотеки, такие как SDL, или использовать gcc.

Если вы хотите скомпилировать действительно небольшие исходники (1 файл, никаких пользовательских библиотек), вы можете использовать codepad или же liveworkspace кодировать на вашем смартфоне. Код не скомпилирован как исполняемый файл, вы просто видите вывод (ошибка, стандартный вывод, …).

2

Что ж, после нескольких недель исследований я могу сказать, что в природе такого нет. Для Android вы должны использовать нативный компилятор, но у вас будет много проблем с совместимостью, поэтому будьте готовы применять патчи, ловить исключения и погружаться в сотни мегабайт нативного кода.

0

Я вижу несколько подходов к получению компилятора на вашем устройстве Android:

От источника C до сборки

От сборки до родного кода

Из источника C в байт-код JVM

JVM переводчики для JVM

0