Я также нашел путь от Java ME к Android, чтобы быть довольно простым. Вот несколько вещей, которые я заметил:
существует ОДИН ui, тянут поток в Android. Необходимо знать о различии между вызовом postInvalidate
и invalidate
на Представлениях, чтобы вынудить их обновить.
фактическое поразрядное графическое управление очень похоже. Я смог портировать большой объем пользовательского J2ME, рисуют код путем записи нескольких контейнеров для drawRect
и drawImage
.
библиотека UI Android намного более обширна, а тем более бесполезна, и намного более сложна, чем Java ME
Threadwise, необходимо быть намного более осторожны относительно потока saftey с Android. В Java ME можно сойти с рук не создание синхронных методов или переменные, энергозависимые большую часть времени. Не так в Android.
я скажу, в целом, что библиотека UI Android проваливает критический тест. Я называю это "списком мой собственный" тест.
библиотека Your UI проваливает этот тест, если она берет меня дольше для завершения, подробная задача задачи (скажите, изменив фон на одном отдельном пункте меню), чем она взяла бы меня два, пишут мой собственный Меню с нуля. Android проваливает тест "самокрутки" фактором 3 или 4. На самом деле, если Вы смотрите, большинство вопросов на этом веб-сайте, "Как я заставляю инструментарий UI Android выполнить мои указания?" вопросы.
Android является удивительной платформой, и это стоило каждого расстраивающего момента, который я снизил в него. Это - однако, молодая платформа, и нуждается в некоторой серьезной работе во времена для прибытия.
Если вам не нужен C99, тогда lcc будет заманчивым:
Вы можете попробовать TCC . Он под лицензией Lesser GPL.
Похоже, что nwcc в достаточной мере соответствует вашим требованиям.
Проверьте elsa, он использует алгоритм Generalized LR.
В основном он используется для C ++, но он также анализирует код C.
Проверьте его страницу в разделе "Сколько C может разобрать Эльза?" в котором говорится, что он может анализировать большинство программ C, включая ядро Linux.
Он выпущен под лицензией BSD.