Search code examples
androidc++linuxandroid-ndkposix

What are the most important POSIX functions not available in Android?


I'm about to port a large C++ project (some sort of Library Project, it contains absolutely no GUI) to Android. It's actually a Visual C++ project, but it will be ported to Linux as intermediate step. I know that Android is not a "full" Linux and does not claim to provide all POSIX functions, but I also know there are a lot of "POSIXish functions" on Android by using the NDK.

Now my actual question is:

Which are the biggest/most important functions that are NOT available on Android compared with the full POSIX set? So that I can keep that in mind when doing the porting from Visual C++ to Linux GCC.

I tried to find something on Google, but found nothing really helpful, just here and there some stuff that mentioned that there are some POSIX functions on Android...


Solution

  • Bionic a recode by Google. It is small but optimized for Android.

    The only big thing I know of that it lacks is indeed the pthread_cancel() function.

    My experience is that if you port it successfully to GNU/Linux, without pthread_cancel() calls, then you should be mostly ok.

    BTW, what kind of library are you trying to build? What does it uses? Network, threads...

    PS: Even Linux is not fully POSIX.