출처: wikipeida (http://en.wikipedia.org/wiki/Bionic_(software))
The Bionic libc is a derivation of the BSD standard C library code that was originally developed by Google for the Android embedded system operating system. Bionic has several major Linux-specific features and development continues independent of other code bases. The publicly-stated goals for Bionic are:[1][2]
BSD license: Android uses a Linux kernel which is under the GNU General Public License (GPL), but Google wished to isolate Android applications from the effects of the GPL.
Small size: Bionic is much smaller than GNU libc (glibc) and somewhat smaller than uClibc.
Speed: Bionic is designed for CPUs at relatively low clock frequencies.
Bionic lacks many features found in full libc implementations, such as wide character and C++ exception handling support.[1][3][4] Also some functions defined in the Bionic header are still unimplemented, which may trigger unexpected behavior in some cases.[1][4][5][6]
As of Android Jelly Bean (4.1), bionic does not include support for Glibc's FORTIFY_SOURCE. FORTIFY_SOURCE is a feature where unsafe string and memory functions (such as strcpy, strcat, and memcpy) are replaced with safer variants (similar to BSD's lstrcpy and lstrcat) when buffer sizes can be determined at compile time. Future releases of the library plan to support -DFORTIFY_SOURCE=1.[7]
The recommended way of directly using and extending Bionic is with the Android Native Development Kit.
'안드로이드 > 프레임워크' 카테고리의 다른 글
Bionic libc (3) (0) | 2012.11.08 |
---|---|
Bionic libc (2) (0) | 2012.11.08 |
안드로이드 init.rc (oom_adj값) (0) | 2012.09.27 |
Dalvik Virtual Machine 와 odex (0) | 2012.08.13 |
안드로이드 바인더 ipc (0) | 2011.10.23 |