- PVSM.RU - https://www.pvsm.ru -
Приветствую всех читателей!
Спешу сообщить о выпуске CrystaX NDK 10.1 [1] — набора инструментов для разработки на C/C++ (и Objective-C) под Android.
CrystaX NDK разработан как прозрачная замена для Android NDK от Google, но при этом добавляет немало вкусностей, отсутствующих в оригинальном NDK. Прежде всего, это означает, что CrystaX NDK можно использовать вместо Google NDK, и все будет продолжать работать как раньше. Но при этом станут доступными многие вещи, отсутствующие в Google NDK.
В этом релизе мы проделали немалую работу по обеспечению большей совместимости со стандартами ISO C, ISO C++ и IEEE Std 1003.1 (POSIX), благодаря чему портирование существующего кода на Android становится намного легче. Как вы, быть может, знаете, Android libc (Bionic) далека от того, чтоб соответствовать указанным стандартам. Многие части просто не реализованы, другие — реализованы с ошибками, заставляющими провести в отладке долгие часы, тем более что уж от libc этого не ожидаешь (помню до сих пор, как пришлось отлаживатся два дня, прежде чем выяснилось, что strtod() не умеет парсить «0xXXXX» строки). Конечно, со временем ситуация улучшается, и в новых версиях Android libc потихоньку исправляется и дополняется, но а) темпы исправлений и дополнений абсолютно неудовлетворительны и б) что делать разработчикам, программы которых должны работать не только на последних, но и на предыдущих версиях Android?
В CrystaX NDK мы решили эти проблемы путем введения дополнительной библиотеки libcrystax, в которой мы реализовали недостающий и неправильно реализованный функционал из Bionic. Это также решает проблему запуска программ на более ранних версиях Android, т.к. libcrystax.so пакуется вместе с приложением и не зависит от версии Android. Само введение дополнительной библиотеки тоже сделано максимально прозрачным способом — т.е. ничего дополнительно разработчику указывать не надо, все соберется автоматически. Иными словами, типичный процесс разработки с использованием NDK остается без изменений, что и позволяет использовать CrystaX NDK как прозрачную замену для Android NDK от Google.
Итак, здесь я кратко перечислю основные фичи CrystaX NDK:
С более полным описанием можно ознакомиться на странице релиза [1].
На этом, пожалуй, остановлюсь. Если есть вопросы, с радостью отвечу в комментариях.
Автор: crystax
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/c-3/80258
Ссылки в тексте:
[1] CrystaX NDK 10.1 : https://www.crystax.net/ru/android/ndk
[2] setlocale(): http://pubs.opengroup.org/onlinepubs/9699919799/functions/setlocale.html
[3] ICU: http://site.icu-project.org
[4] функции для работы с комплексными значениями: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/complex.h.html
[5] типо-независимые (type-generic) функции: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/tgmath.h.html
[6] становится очень простым: https://www.crystax.net/ru/blog/2
[7] Источник: http://habrahabr.ru/post/248455/
Нажмите здесь для печати.