Каковы наиболее важные функции POSIX, недоступные в Android?

Я собираюсь перенести большой проект на С++ (какой-то библиотечный проект, который не содержит абсолютно никакого графического интерфейса) для Android. Это на самом деле проект Visual С++, но он будет перенесен в Linux как промежуточный шаг. Я знаю, что Android не является "полным" Linux и не претендует на предоставление всех функций POSIX, но я также знаю, что на Android существует множество "функций POSIXish", используя NDK.

Теперь мой реальный вопрос:

Каковы самые большие/самые важные функции, которые НЕ доступны на Android по сравнению с полным набором POSIX? Поэтому я могу помнить об этом при выполнении переноса с Visual С++ на Linux GCC.

Я попытался найти что-то в Google, но не нашел ничего полезного, просто кое-где кое-что упомянул, что на Android есть некоторые функции POSIX...

Ответ 1

Bionic перекодирует Google. Он небольшой, но оптимизирован для Android.

Единственная большая вещь, которую я знаю о том, что она отсутствует, действительно является функцией pthread_cancel().

Мой опыт в том, что если вы успешно переносите его на GNU/Linux, без вызовов pthread_cancel(), вы должны быть в основном в порядке.

Кстати, какую библиотеку вы пытаетесь построить? Что он использует? Сеть, потоки...

PS: Даже Linux не полностью POSIX.

Ответ 2

общая память - это то, что вы можете найти по-разному в Android. был сильно ударил, пытаясь работать с shm_open и shm_unlink на ядре Android. Android реализует асинхронную общую память (ashmem).